1. 程式人生 > >Xcode中的檔案型別

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方便