美文网首页
2019-02-19 Xcode中group和folder的区别

2019-02-19 Xcode中group和folder的区别

作者: KingAmo | 来源:发表于2019-02-19 16:42 被阅读0次
    1. 项目在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”…,非常繁琐。

    1. 以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。

    相关文章

      网友评论

          本文标题:2019-02-19 Xcode中group和folder的区别

          本文链接:https://www.haomeiwen.com/subject/qcdfyqtx.html