Artworkファイルについて

shared.artworkとの出会い

脱獄することでiPhone内部を覗くことができるようになり、どんなファイルがあるのかほとんどの方がiPhone内部をブラウズしたのではないでしょうか?
140pxクラスのアップルマークがあったり、充電中の画像が20枚近くあったり、フォルダー画像があったり、アプリのアイコンがあったり、スライダー画像があったり・・・
まるで、宝箱のようでした。

通勤途中の信号待ちなど、ちょっとした時間でもiPhone内を眺めるようになりました。
いつものようにiPhone内を眺めていると、アンテナ画像がないことに気付いたのです。
すでにほとんどチェックしたはずのiPhone内を、注意深くもう一度一通り確認したのですが、どうしても見つからなかったのです。
確認している間にふと気付いたのですが、ステータスバーに表示される他の画像もどこにも見つからないのです。

その頃には、Winterboardでテーマが変更できることを知っていたので、Wi-Fiアンテナ画像などのファイル名も、それなりの確認は済んでいた。
iFileのサーチではなく、1つ1つ階層を掘り下げて確認していったのだが、画像もファイル名も出てきませんでした。
なのに、何人もの人が同じファイル名でテーマ用の画像を紹介している事実もある。
そのファイル名でテーマを適用すると画像が変更されているので、ファイル名に間違いはないはずなのだが、そのファイル名を探してもどこにもない。
この人たちはどうやってこのファイル名を知ることができたのだろう?
そう思ってググってみると、私が見つけられない画像ファイルは、iPhoneのユーザーインターフェースに関係する画像であることが分かりました。
そしてさらに、その画像は相当な数であり、ある1つのファイルにまとめられているということも分かりました。
そのファイルこそがShared.artworkであり、簡単には中身の見えないファイルだったのです。

shared.artworkを展開するための情報収集

それからは、如何にしてこのartworkファイルの中身を見るかを調べる日が続きました。
どこにもない・・・
artworkファイルまで辿り着いている人はいくらでもいるのに、そのファイルを開くことに関してはヒントすら見つからなかったのです。
こうなると、私も火がつきます。
どんな小さな手がかりでも手に入れようとしたのですが、日本のサイトではヒントすら見つかりませんでした。
そこで、検索範囲を広げることにしました。
今は翻訳機能があるからと、気軽に範囲を広げたのですが、これがなかなか厄介で、コンテンツを理解する前に、訳された日本語を理解するのが大変でした。
脱獄に関するの内容は一般的ではないので、上手く訳してくれる訳がないんですね。
という訳で、翻訳なしで探すことにしました。

英語圏なら何とか雰囲気で分かるかと思ったのですが、そう簡単ではありませんでした。
さらに、火がつきました。
いろいろなサイトを見ていくうちに、完全ではないにしても、だいたいの内容は分かるようになりました。
その言語は、英語だけではありません。
英語圏でもいくつかヒントになりそうなサイトは見つかったのですが、解決には至らず、中国・韓国・フランス・ドイツ・イタリアなどのサイトも巡りました。
どのサイトを見ても、日本のサイトにあるような「バッテリー画像はどこにありますか?」とか、「shared.artworkのバラし方分かる人いませんか?」という内容ばかりで、諦めそうになったことも何度かありますが、それでも小さなヒントは見逃してなるものかと、がんばっていくつか見つけました。
そして、フランスのサイトのあるフォーラムでディスカッションされていたものを読んでいる時に、これまで集めたヒントがすべて繋がったのです。

shared.artworkの展開とその結論

その方法は、shared.artworkを展開するという正攻法です。
Macで展開するのですが、Macの環境を整える所でかなりの骨が折れました。
ここでも火がついたのですが、終わってみると3日徹夜していました。
ですので、やり方を説明するつもりはありません。
誰かの記事で、「Macにはshared.artworkを展開するソフトが入っている」と言うものがありましたが、それがあるならこんな苦労はしません。
私がやったのは展開までです。
画像を入れ替えて、shared.artworkを再構築してiPhoneに戻せば、winterboardを使わずに雰囲気を変えることはできますが、私はやる気になりません。
これまでの苦労を考えると、できることが少なすぎるのです。
shared.artworkを展開したくてこのページに辿り着いた方もいると思います。
展開まで漕ぎ着けた者として言わせていただきます。
大人しくwinterboardを利用しましょう
確かに、メモリは極力喰いたくないので、winterboardを利用せずに目的が果たせるなら、それに越したことはありません。
辿り着くまでの時間と苦労を考えたら、メモリ喰ってもらった方が遥かにマシなのです。
このページに辿り着いた方には申し訳ありませんが、悪いことは言いません、前述の通り大人しくwinterboardを利用しましょう。
それに、winterboardを利用すると、shared.artwork内に収録されている画像の置き換えだけでなく、ホーム画面の文字の装飾やロック画面の時計フォントの変更などできますし、何よりもウィジェットを実行できることが私の中では大きいと思います。
ただ、せっかくshared.artworkを展開してその中身を知ることができたので、そのやり方を教えることはできませんが、中身に関する情報を紹介しますので、当サイト「テーマを作る」をご覧になって下さい。
iPhone4を使ってい見たたことのある画像をチョイスしてまとめてみました。
iPhone4以外の画像は省いてあります。

shared.artworkに関する考察

私はMacユーザーですが、PPCなのでSnowLeopardにすることができないため、アプリを作ることができません。
作る側の環境を知らないので、ここからは憶測の域を出ることはありませんが、作っている人ならshared.artwork内の画像を見ることができるんだろうなぁと思います。
私の環境では、iPhoneを脱獄して、自作した画像やウィジェットをそのiPhoneで適用するのが関の山なのです。
その中でも、いろいろ見て、いろいろ考えたことがあるので、ここでshared.artwork(iOS)に関して私なりの個人的な見解を述べてみます。

個人的な見解です
iOSは、バージョンに違いはあるものの、iDevice毎に用意されている訳ではなく、どのiDeviceにも同じiOSをインストールします。
つまり、iOSがその動作の中でiDeviceを判別して機能するのです。
iOSに収録されている画像で、"@2x"が付いているファイルと付いていないファイルがあるのはこのためで、iDeviceがRetinaかそうでないかを判別して表示します。
"~iphone"も同様に、iDeviceがiPhoneかどうかで画像を切り替えます。
その仕組みで動いているため、iOSはすべてのiDeviceに共通なのです。
使っているiDeviceがiPhone4でも、そのiPhone4には、iPad用の画像もiPhone3GS用の画像も入っています。
iOSには、iDeviceを操作するために必要な画像が多く収録されています。
壁紙やアイコンもありますが、操作に特化した画像がダントツに多いです。
その中でも、すべてのiDeviceに共通する操作に必要な画像は特に変更する必要もなく、システムのコアに近いということもあって、アップルがiOSに中で1つのファイルとして収録しています。
それがshared.artworkなのです。
収録されている画像は、ステータスバーに表示されるものや、キーボードに関するもの、ボタンやアラートに関する画像が収録されています。

ここで1つ例に出したいのが、キャリアです。
iPhoneのキャリアは、どのキャリアで使用しているかを表示するものなので、使用する国によって違います。
ですから、iPhoneのキャリアは変更する必要があるので、shared.artworkには収録されていません。(iPhone4は文字表示です)
では、iPodはどうでしょうか?
iPodにキャリアは関係ないのですが、iDeviceである以上iOSで動いているので、キャリア部の何かしらを用意しなければなりません。
さらに、どの国で使用しても、iPodはiPodですよね。
iPodのキャリアは、変更する必要がないので、shared.artworkに収録されているのです。
iPhoneとiPodでは保存場所が違うため、winterboardでの指定が異なるんですね。

shared.artworkに収録されている画像は、ユーザーインターフェースに関わる画像が多く収録されているので、winterboardでshared.artwork内の画像を置き換える時に使用するフォルダー名が、"UIImages"なのです。
「ユーザーインターフェースの画像」って、まんま直訳ですね。

artworkファイルを展開すると、膨大な数の画像ファイルに出会えますが、そのファイル名には"@2x"が付加されていません。
しかし、画像サイズはRetina用になっており、ステータスバー関連の画像は高さ40px基準でデザインしてあります。
このまま表示されては大変なことになってしまいます。
ここで最初に戻りましょう。
artworkファイルに辿り着いたときのことを思い出して下さい。
.artworkという拡張子のついたファイル名は何でしたか?"shared@2x"でしたよね?
ファイル群を収めたファイル名に"@2x"が付いているので、中の画像ファイル名には"@2x"が付いていないんです。
ファイル名にまで"@2x"を付ける必要がないという判断をしたのだと、以前は思っていたのですが、今は「互換性」のためにそうしたと考えています。
iOS4はiPhone4だけのOSではありません。
3Gや3GSでも使えるため、同じファイル名でも"@2x"が付いているものと付いていないものがあることは周知の事実かと思います。
そして、デバイスに応じて、そのファイルを選別するということをOSレベルでやっています。
しかし、artworkファイルの中にあるファイルには、"@2x"が付いていません。
そのかわり、artworkファイルのファイル名に"@2x"が付いているのです。
iPhone内に保存されているartworkファイルは、shared.artworkと、shared@2x.artworkです。
iOSでは、このartworkファイルでRetina用かどうか判断します。
だから、artworkファイルの中のファイル名には"@2x"が付いていないし、逆に、sharedでもshared@2xであっても、中のファイル名は同じでなければならないのです。
それが「基本のファイル名」であり、Winterboardでテーマを適用する時のファイル名となります。
ここで、勘違いについて語っておきます。
このサイトを含め、多くのiPhone4向けのサイトで、「Retina用のテーマ画像を適用するときは@2x付きのファイル名だけでなく、@2x無しのファイル名がないと適用されません」というアナウンスがあります。
私もそう思っていたのですが、逆だったんですね。
@2xファイルを基準にするからそのような考えになるのですが、互換性やバージョンアップの順番を考えると、@2x無しのファイルを基準に考える方が筋なのです。
つまり、基本ファイル(@2xなし)がある上で、Retina用ファイル(@2xあり)があったら、Retina用ファイルを優先して表示するということです。 以前から脱獄に関するブログやサイトでもそのような説明がなされていることと、私がiPhone4からのiPhoneユーザーであることもあり、完全にそう思い込んでいたのですが、これまでのサイト作成を通じてこのような考えに至りました。
もちろん、これはartworkファイルの話ですから、UIImagesフォルダーに入れるファイルに対してのお話です。
Bundlesなどのフォルダーに入れるファイルは、@2xファイルだけで大丈夫です。

繰り返しますが、私の個人的な見解ですので、信じるか信じないかはあなた次第です!!

iOS5について

さて、iOS5が気になりますね。
現時点では、winterboardはそのままiOS5上で動作するそうです。
iOS5は3GSも対応機種に入っているので、@2xの取り扱いに関しては、これまでと同様で良いと思います。
開発関係者の方には、すでに配布が始まっているので、おそらくファイル構造も知っているのだろうと思いますが、私が手にするのは9月以降の一般配布の後さらに完全脱獄できるようになってからになるので、それまではウィジェットを作ろうと思います。
当サイト「ウィジェットを作る」や、「ウィジェットを弄る」もご覧になって下さい。

アップルのサイトでiOS5の機能についていろいろ見てみましたが、脱獄している側から見ると、目玉機能はないですね。
ほとんどが脱獄することで実現可能なものばかりです。
ということは、脱獄しなければできなかったことが、標準機能としてできるようになるということです。
そうなると、「脱獄の意味は?」ということになりますが、iOS4が出回る前のブログなどでも同じことを言われているので、iOS5が出たら出たで、脱獄アプリはさらにその先を行くだけのような気がします。
そして、標準のiOSに取り込まれることが繰り返されるだけのような気がします。

アップル側は、脱獄側を意識していることは間違いありません。
iOS5でここまで取り込むとは・・・
逆に考えると、アップルが完全に脱獄できないようにすることはないんでしょうね。
ある意味、アップルが脱獄を認めた形なのですから・・・
見方を変えれば、「脱獄の必要がないシステム」となるかもしれませんが、脱獄あってのiOSとなってしまったことには違いありません。
機能性の高い脱獄アプリが出たら、すぐにiOSのアップデートでそれを取り込むことをすれば、「脱獄の必要がないシステム」と言っても良いかもしれませんが、これまでのアップデートを見ていると、結局は脱獄が先行することは明らかです。
したがって、iOS5でも脱獄する意味は十分にあると思います。

私が気にしているのは、ファイル構成の変更ですね。
まだまだ脱獄生活の短い私ですが、それでもアップデート時におけるファイル構成の変更は、とても嫌な印象を受けます。
「またやりやがった!」という感じです。
cpbitmapが出てきたときなんかはかなりショックでしたが、その反面、どう攻略しようかという楽しい宿題をもらった感じでした。
iOS5では、どんなファイル構成になるんでしょうね。
「嫌な感じ」ではなく、「宿題」的なものが含まれていることを期待している自分がいます。

8月半ばでもまだまだ不安定らしいですが、四角から丸になったスイッチ画像を早く見たいですね。
iCloudのアイコンのように、金属端面反射のデザインを考えています。
よく見ると、旋盤で削ったような円の模様があるんです。
早く形にして、iOS5のテーマのページをまた何十ページも作りたいので、とても待ち遠しいのですが、それまではウィジェットのページを作ってま〜す。

更新状況はブログの方でお知らせします。

ページトップへ

2011/08/11