- 项目在
Xcode
中打开时,项目的工程目录中有两种不同颜色的文件夹
,黄色
和蓝色
,黄色的是group
,蓝色的是folder
,他们有什么区别呢?
在Xcode 文件体系里面,是使用 Group 组织管理的
-
group
是以分组
的概念存在,只是在你的工程中(Xcode中)是文件夹的形式,但是在本地的目录中还是以散乱的形式放在一起的,除非你是从外部以group的形式引用进来的.
如果在xcode工程中new group,只是在视觉效果上分好了几个文件夹,方便分类管理,但在finder中并不会创建新的文件夹,在硬盘目录还是所有文件都并列在一个文件夹内
-
folder
只能作为资源,整个文件夹引用进项目,不能编译代码,也就是说,以folder形式引用进来的文件,不能被放在complie sources列表里面
我们知道,Xcode本身的”New Group”选项只会创建一个虚拟文件夹,并不会在本地磁盘创建真实文件夹。一般来说,我们会右击->Show in Finder->在文件目录创建文件夹->右击->Add Files to “xxx”…,非常繁琐。
- 以folder的形式引用文件 我拖动外部的文件夹 WebViewJavascriptBridge 到我的xcode工程目录下面 会弹出对话框,如图copy,是指文件不在项目的目录下面,例如项目在桌面上,文件在 Download 下,你 copy 就会被复制到项目里面。如果文件原本就在项目里面,则不执行任何操作。这里不管它,重点是 下面的单选框
这里我选择的是以folder的形式引用文件夹,点击完成,如下图所示,文件夹是蓝色的,并且编译文件列表里面没有 webviewjavascriptBridge.m这个文件,证明文件夹引用,只会引用文件夹,文件夹里面的东西都会直接拷贝到 bundle 包,不参与编译。2. 以group的形式引用文件 回到1的第一步,选中 create groups for any added folders ,点击完成,则如下图所示,文件夹是黄色的,并且编译文件列表(Target->Build Phases->Compile Sources)里面神奇的存在了 webviewjavascriptBridge.m这个文件,group方式引用,该文件夹下的所有文件都会被自动加入编译清单,参与编译。这也是我们项目导入第三方库时,最常用group方式的原因。
采用folder方式导入,只会引用该文件夹,而文件夹里面的东西会被直接拷贝到bundle包当做资源文件,并不参与编译。
Create folder references方法只是将文件单纯的创建了引用,是以蓝色文件夹存在的,这些文件不会被编译,所以在使用的时候需要加入其路径,否则会导致引用数据为空
folder:只能作为资源引进项目,不能编译代码,不参与编译。不能放进complie sources列表,只拷贝到工程文件夹里面。导入头文件时要写全路径。
group:能够作为资源引进项目,能参与代码编译。能写进complie source。
网友评论