iOS Xcode工程目錄的 folder 和 group的區別(藍色和黃色文件夾的區別)
Xcode工程目錄里面,有時你會發現2個不同顏色的文件夾,一種是藍色的,一種是黃色的,
最常見的是黃色的, 如圖所示,藍色的是folder,黃色的是group。 那么它們有什么區別呢?
1. group 和 folder的區別
group 一般只在你的工程中是文件夾的形式,但是在本地的目錄中還是以散亂的形式放在一起的,除非你是從外部以group的形式引用進來的。(即:從外部拖入,勾選copy和Folders的第一項);
folder 只能作為資源,整個引用進項目,不能編譯代碼,也就是說,以folder形式引用進來的文件,不能被放在complie sources列表里面。(即:從外部拖入,勾選copy和Folders的第二項);
拖動外部的文件夾 WebViewJavascriptBridge 到我的Xcode工程目錄下面會彈出如下對話框,紅色標注的Folders有兩個選項:(1).勾選第一項,是以group方式導入;(2),勾選第二項,將以folder方式導入;
下面我們具體看看此兩種方式有什么不同吧!
2. 以group的形式引用文件
選中圖片001中的 Folders: create groups for any added foldersa(第一項) ,點擊完成,則如下圖所示,文件夾是黃色的。
查看編譯清單(Target-Build Phases-Compile Sources),webviewjavascriptBridge.m這個文件已被加入其中,證明以group方式引用,該文件夾下的所有文件都會被自動加入編譯清單,參與編譯。這也是我們項目導入第三方庫時,最常用group方式的原因。
3. 以folder的形式引用文件
選中圖片001中的 Folders: create groups for any added foldersa(第二項) ,點擊完成,則如下圖所示,文件夾是藍色的。
查看編譯文件列表(Target-Build Phases-Compile Sources), 其中並沒有 webviewjavascriptBridge.m這個文件,說明采用folder方式導入,只會引用該文件夾,而文件夾里面的東西會被直接拷貝到bundle包當做資源文件,並不參與編譯。