首先看一下Podfile文件下面这行

  use_frameworks!

 

这行的意思是Pod工程中的target是否编译成framework的形式,加上这行Pod工程中的target会编译成framework的形式,不加的话会编译成静态库的形式。

 

 pod install执行过后pod会在主工程的build phase中添加相应的链接命令或者是嵌入相应的framework,对于静态库来说会去链接,对于动态的framework来说会执行嵌入framework的脚本。

 

另外编译时,项目主工程显示指出了需要链接pod主工程的库(执行pod install后在Link Binary With Libraries中自动添加,pod主工程的库一般为静态库,所以不用在embedded  binaries中添加该库),pod主工程的库由pod主工程编译产生,所以项目主工程隐式地依赖pod主工程,而pod主工程会添加各个子target的依赖,所以编译的顺序不会存在问题,顺序为 编译各个pod的子target,然后编译pod主工程的target,最后编译主项目工程的target。

posted on 2018-04-17 15:06  ximenchuixie  阅读(715)  评论(0编辑  收藏  举报