Xcode中的檔案型別
檔案型別
Xcode中的檔案型別,總共4種類型:
1 普通檔案(File)
2 Group(在Xcode中就是黃色的資料夾)
3 Folder(在Xcode中就是藍色的資料夾)
4 Framework
每一種檔案型別,都擁有2種屬性:
1 檔案路徑(Path)
2 引用型別(Reference Type),指名檔案路徑的起點
通過檔案位置和引用型別,Xcode就能定位到一個檔案的確切位置。以下圖為例:
Group aaaaa的引用型別為Relative to Build Products,其路徑為../../../../../SourceItem/aaaaa,之所以有這麼多../,是因為Relatvie to Build Product引用型別,表明了檔案路徑的起點是從工程的build資料夾開始算起.
在本例子中,build資料夾路徑:
$HOME/Documents/myObjectiveC/SourceItem/DerivedData/SourceItem/Build/Products/Debug-iphonesimulator
而aaaaa所在的路徑是:
$HOME/Documents/myObjectiveC/SourceItem/SourceItem/aaaaa
所以Relative to Build Product才會是../../../../../SourceItem/aaaaa
上圖中的Full Path是aaaaa在系統磁碟上的路徑,不會隨著引用型別的選擇而變化。
引用型別
從圖中可以看到,Xcode的引用型別總共有6種:
Absolute Path就是按絕對路徑引用
Relative to Group就是相對於上層Group,比如資料夾aaaaa如果選擇這個引用型別,那麼它的上層Group就是SourceItem資料夾,這個是預設的,也是最常用的型別
Relatvie to Project就是相對於工程資料夾,也就是包含.xcodeproj檔案的資料夾
Relatvie to Developer Directory就是相對於Xcode app中的Developer資料夾,即/Applications/Xcode.app/Contents/Developer,如果需要用到Developer資料夾下的工具,這個選項很方便
Relative to Build Product就是相對於build資料夾,一個target的build產物可以是debug的,也可以是release的,如果選用這個引用型別,就可以方便的使用build的產物
Relative to SDK就是相對於當前的SDK目錄,在本例子種,即/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk,如果需要用到SDK裡面的資源,這個選項很方便
Group和Folder的區別
Group和Folder的區別,首先就是顏色上的區別,Group在Xcode中黃色的,Folder在Xcode中試藍色的;
其次最大的區別是,Group被稱為一個邏輯容器,雖然在磁碟上可以遊對應的資料夾,但它自己沒有target membership屬性,只有它裡面包含的內容有target membership屬性;Floder剛好相反,整個Floder被視為一個整體有自己的target membership,而它裡面的內容卻沒有target membership。
因此,當一個資料夾想被當成一個整體時,使用Floder型別比Group方便