iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
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包当做资源文件,并不参与编译。