项目二进制化可以把第三方库或者自己写的模块打包成framework库,减少编译速度.
目的是项目只用编译自己的代码 cocoapods引用的第三方不用编译.cocoapods有现车的打包成framework方法,很多人不会用.
OC语言制作动态库时支持iOS8+,iOS8以下版本只能打成静态库
Swift只能做成动态库,Swift不支持静态库.(很多人说swift的是打包成静态库,都是错误的. cd 到framework根目录,file 可执行文件名(exec黑色的文件名)显示AFNetworking (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
) dynamically动态库的意思
屏幕快照 2017-07-10 10.48.11.png
- cocoapods podfile里面加上 use_frameworks!
use_frameworks! 作用是把三方库打包成动态库,引用swift第三方必须加上这句话,在使用swift第三方时候要在每一个文件里面引用 如 import SwiftyJSON
引入的OC第三方库不要在桥接文件引入,而是和用swift第三方一样,在每一个文件里面引用 如 import AFNetworking
如果在桥接里面引用,则项目用的是源码,不是framework,这样编译速度慢,直接在每个项目里导入模块,用的是framework,编译速度快.
-
在Targets->General-> Linked Frameworks and Libraries下面点击加号,workspace里面的framework都可以直接在文件里面引用,没有的oc第三方的只能在桥接文件里面引用,使用源码,这样你的项目只用编译自己的代码 cocoapods引用的第三方不用编译
-
OC项目和swift一样,podfile加上use_frameworks!,就ok拉
网友评论