编程技术记录

世界你好!

当在podfile文件中使用use_frameworks!指令时,CocoaPod在安装Pod时,会用framework方式组织资源(默认使用lib方式),同时该指令还提供扩展选项,指定动态framework或者静态framework

use_frameworks!  #使用默认值,根据pod类型自行设置static或者dynamic
use_frameworks! :linkage => :static # 使用静态链接
use_frameworks! :linkage => :dynamic #使用动态链接

如果在podfile中设置use_frameworks! ,又没有指定linkage => :staticlinkage => :dynamic时,则会根据podspec文件中的根配置static_framework = true/false来设置。

另外,linkage => :staticlinkage => :dynamic只对源码Pod有效,对已经是framework的pod不起作用。而且,如果pod中的framework是动态库,那么在pod install后,会在相应的target的Build Phases设置中添加[cp] Embed Pods Frameworks脚本,以动态库的方式将framework输出到最终产物中。

© Beli. All Rights Reserved.