下腹オプティマイザ

主にIT関係の雑記帳です。全然関係ないことも書くかもしれないです。

【Xcode】黄色のフォルダーと青色のフォルダーの違いについてまとめる話

こんばんは、クマガイです。

 

熱帯夜ですね、暑い。

そしてまだ初めてⅠ日目なのに4件目の投稿。

僕はやりたい時にやりたいだけやるタイプなので書かない日もあるかと。

 

さて、本題はXcodeのこいつ

 

f:id:kurogomapurin11:20140605004303p:plain

XcodeのProjectNavigaterに表示される青いフォルダ(というかフォルダの色が違うこと)についてのお話

(※ざっくりなんとなく調べただけなのであまりあてにしないでください)

 

Xcodeを使ってるとここにフォルダやらファイルやらを追加しないとビルドする時に参照できないんですよね。

そして追加したはいいけどファイルが参照できなくてビルドエラーだったりアプリ落ちだったり。

 

そんでなんとなく調べてみるとどうもこの色の違いは

 

・黄色→グループ

・青色→フォルダー参照

 

という違いらしい。なんぞや、と。

まず、どうやってこの2種類を分けるかというと、ファイルをプロジェクトに追加する際に表示されるこの画面の下のほう

f:id:kurogomapurin11:20140605010356p:plain

・Create groups for any added folders

・Ceate folder references for any added folders

のチェック。

それぞれ上が黄色で下が青色のフォルダです。

さて、これが違うと何が違うかというと

黄色:ファイルをバンドルのルートディレクトリに登録

青色:バンドルにディレクトリを保って登録

(以下クマガイ的超短絡的解釈)

黄色の場合にはルートディレクトリに登録されるのでファイル名だけで参照できる

青色の場合にはパスが必要(Resources/player.png みたいな)

 

ぶっちゃけbundleが具体的にどうなってるのかがまだ理解できてないんですが

とりあえずは上の解釈で参照に困ることはないかな?

一応もう少し付け加えると

 

黄色のフォルダの階層はXcode内で管理されてます。

階層だけがXcode内で管理されているので登録したファイル自体を

MacのFinderで削除してしまうと参照エラーです。

 

青色のフォルダの階層はMacのFinderそのままで登録されます。

そのため登録したフォルダの階層やファイルをFinderで変更すると

Xcode側も変更されます。

 

大体こんな感じでいいんですかね。BundleResourcesに関してはもう少し調べたほうがよさそうなので今後のタスクにしておこう。

 

ではでは

 

参考:Xcode グループとフォルダー参照 #yhios