CocoaPods的最新安装10.11

如果将资源文件/文件夹拖入项目,那么会Xcode弹出一个窗口:


Xcode截图.png

意思是说是否要在项目目录下复制资源
如果选中Copy items if needed,那么在项目目录下(这是说的是真实目录,不是Xcode左侧那个),会拷贝一份与拖入的资源相同的资源。
如果未选中,则不会进行拷贝,而是对拖入的资源进行引用。
这与在代码中进行传值和传址很像。如果选中,则像传值,会拷贝一份,与原来的资源互不影响;如果未选中,则像传址,相当于对原来的资源进行引用。
事实上如果未选中,会带来一些问题。比如当代码和资源分开(比如不在一个电脑上),那么对原来资源的引用就失效了,那么资源也就不能用了。
并且在删除项目资源的时候也要注意。当删除资源时,会弹出一个窗口,让我们选择是删除引用还是移到垃圾箱
如果选中Copy items if needed,那么会有一份拷贝,所以我们如果想彻底删除,那么要选择移到垃圾箱,这样无论在Xcode左侧的导航里还是真正的项目目录里,都将资源删除了。如果选择了删除引用,那么只会删除Xcode左侧导航的资源名称,而资源的拷贝还存在于项目的真实目录中。
如果未选中Copy items if needed,那么如果想正确删除,应该是选择删除引用,这样这个项目就不再对原来的资源进行引用。但是如果选择了移到垃圾箱,那么会将原来的资源也一起删除,即使它并不在你的项目目录里。要慎重。
Added folders:
如果是文件,那么无论选择Create groups还是Create folder references都是一样的。
如果是文件夹:
如果选择Create groups,那么说明在真实的项目目录里面(MainBundle),并不会创建文件夹。比如拖进一个文件夹,里面有两张图片还有一个子文件夹,子文件夹里面还有一张图片,如果选择了Create groups,那么这个结构在Xcode左侧是一致的,但是在项目目录里面,并没有创建文件夹,直接是三张图片。如果用imageNamed:这个方法,可以直接用图片的名字,前面不用加文件夹的名字,因为imageNamed:是看真实的项目目录里面的结构,而不是Xcode左侧的文件结构。(左侧如果是蓝色文件夹,那么是实体文件夹;如果是黄色文件夹,那么是虚拟文件夹,在真实的目录实际是没有的。)

如果选择了Create folder references,那么会根据传入的文件夹结构,创建蓝色的文件夹,也就是在真实的项目目录里会创建文件夹。如果此时用imageNamed:方法,那么需要加上路径:
UIImage *image = [UIImage imageNamed: @"Images/image"];

总结就是如果传入一个文件夹资源,Create groups不会创建真实文件夹;Create folder references会创建真实文件夹。
Add to targets:
意思是是否将这个资源包打包到最终的资源包里面。

我们将程序安装到手机上,实际上是将其打包然后安装,如果没有选择这个选项,那么导入的资源将不会参与打包。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,896评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,192评论 25 708
  • 老妈在四五年前就一直对着我念叨,我在你这个年龄的时候啊,你都已经会跑了,都能帮忙照顾你弟弟了。四五年后,她已经不念...
    Maymei咩阅读 351评论 1 2
  • 当我闲的无聊时,忍不住就会打开手机,然后习惯性的点开微信,看看红点点有没重要的信息,然后接下来不自觉的就会打开朋友...
    浆糊郎中阅读 238评论 0 0
  • 01 窗外下起了蒙蒙细雨,汽车缓慢地行驶在沈海高速,前方的路牌下一站是...
    好时光生活荟阅读 1,639评论 4 7