2011年12月01日

リソースファイルをフォルダ階層を維持しながらコピーさせる

iOS 開発関連のブログ記事などをよく見させてもらっています。

そんななかで見かける間違いが「Xcodeでは、プロジェクト内でフォルダ階層を持たせていても、ビルドしてバンドルリソースにコピーされるときに、フラットなファイル構成になってしまいフォルダ階層で参照するようなコードを書くことができない」というものがあります。

初心者にありがちな勘違いだと思っていたのですが、アプリケーションを何本もリリースしている経験豊富な方も同じ勘違いをしているのを見つけたので、ここでそんなことはないということをメモしておきます。

もちろんそのやり方は何通りもあって、シェルスクリプトを書けばいいじゃんというのが一番プログラマ的ですがそれは面倒なので一番簡単なものを示しておきます。


Xcode のプロジェクトにファイルを追加するときに出るダイアログにフォルダオプションというのがあって「Create groups for any added folders(追加したフォルダに再起的にグループを作成する)」「Create folder references for any added folders(追加したフォルダにフォルダ参照を作成する)」の二つから選択できます。

addFiles.png

#最近日本語のを見ていないので訳語は間違っているかもしれません

ここで通常は上の方を使うのですが、下の方「フォルダ参照を追加」を選ぶとグループのフォルダ色がブルーになって通常と違うグループになっているのがわかります。これがフォルダ参照です。

folderReference.png

フォルダ参照で追加されたリソースファイルは、バンドルコピー時にフォルダ毎コピーされますので画像ファイルやヘルプのスタイルシートなど通常の階層とは違うフォルダにまとめて置きたい場合などに使えます。

inBundle.png


初心者の方は色々Webなどで情報を調べることでしょうから、間違って憶えないよう複数のサイトチェックをして欲しいと思います。経験を積んだ方はこんなことをわざわざ調べないだろうから誤解したまま開発を続けてしまうのかなぁ。とちょっと心配です。



posted by 永遠製作所 at 16:08| 東京 ☁| Comment(0) | TrackBack(0) | iPhone/iPod touch | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。