2012年12月17日 星期一

Add Resource File to XCode的各種不同方式

以下整理把檔案/Folder加入XCode專案時的各種不同選項。

不管是從Finder內直接拖曳檔案/Folder進入XCode,或是從XCode內執行File | Add Files to ... ,XCode都會顯示以下的畫面讓user決定檔案加入的方式:


如果是放入單一檔案的話,則唯一重要的選項是是否選擇Copy items into destination group's folder。如果選擇了這個項目的話,則檔案會被複製到project的目錄底下,從此以後任何的修改就以project內的這個檔案的內容為主,與原始檔案無關。如果不選擇的話,則project內看到的檔案會是一個reference to 原始檔案,使用者就必須確認這個檔案與project的目錄相對關係。

如果是放入一個目錄的話,則Folder內的選項會決定這些新加入的檔案的Folder架構。
如果選擇[Create groups for any added folders]的話,則xcode會依照原始目錄的架構把檔案加到project內,可是目錄的架構會以Group的方式來模擬,從UI上會看到一個黃色的Group icon


反之如果選擇[Create folder reference]的話,則xcode會產生一個藍色的Folder icon,如上圖。

這兩者最大的差異是,Group的架構看起來雖然像是個folder,可是實際上檔案都是攤平在同一層的,所以原先的目錄如果是以Group的方式加入之後,最後產生的app檔案內所有的檔案都是放在同一層內,程式內如果要reference這些檔案的話就不需要傳入Group的path。如果是Create folder reference的話,那原始目錄的架構還是會繼續維持,程式內要讀取這些檔案時就必須注意檔案的path。

上述兩者選項都可以搭配[Copy items into destination group]選項。如果選擇的話,則xcode會把檔案或是目錄copy到project folder內。注意到如果不是[Create folder reference]的話則原始目錄內的所有檔案會被copy到project folder內的同一層。 如果不選擇的話,則xcode會記錄原始目錄的位置,所以使用者在移動project也要注意目錄的相對關係。

如果一個專案內需要用到很多的檔案時,最好是可以有一個目錄架構以方便管理,這時候應該是選擇[Create folder reference],然後optionally的搭配[Copy items]選項來決定以後要在哪個目錄內管理這些檔案。





沒有留言:

張貼留言