-
cocoapods是什么?
请移步百度
-
cocoapods干什么用?
请移步百度
-
要你何用?
只暴露一个问题
一个炸裂的开场后,进入正题:
简单来讲cocoapods 是开发 iOS 应用程序的一个第三方库的依赖管理工具。利用 cocoapods定义自己的依赖关系,在整个开发环境中对第三方库的版本管理非常方便。
这个是在使用pods后项目暴露的错误:
解决方法:
build setting- > linking - >Other linker Flags ->添加 -Objc
请复制粘贴 -Objc
注解
爬了爬。。。看到生成整个App的过程中会用到它:
- 程序代码(源文件)会被编译成中间代码,进而有了目标代码 ,这时有一个链接器,该链接器会根据符号表和各个目标文件的结构分析出目标代码的调用关系,并且完成链接和重定向。这个链接器的控制就是-Objc,但这个控制不指的是开关控制,是用作加载一些暂时可能不需要的代码。为什么说可能暂时不需要,编辑器分析符号表发现不需要某个category,故此初步判定暂时不需要,这时可能就会存在问题,导致一些类库没有加载进来。
- 不是所有项目都需要添加,-Objc 会将Objective-C类和Category都加载进来,这样会使App体积增加,让App中存在很多使用不到的代码。
- 了解一下与-Objc相关的控制-all_load和-force_load
-all_load 链接静态库中所有代码到App中,这个会使App体积急剧增加。
-force_load 链接指定静态库中所有代码到App中。
ps:在Xcode4.2之后,-all_load 和 -force_load标志都不再需要了,在必要时添加-ObjC即可。
说的不明白的可以@哦