版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/iDivines/article/details/88962597
我们在创建 CocoaPods 组件的时候可能里面要依赖一些 Framework,所以在 spec 文件中需要配置
spec.ios.vendored_frameworks = 'Frameworks/MyFramework.framework'
将依赖的 Framework 导入到工程中,下面我讲一下 CocoaPods 具体是如何工作的。
- 执行pod install 后 CocoaPods 会生成 xcconfig 配置文件(debug的配置文件路径:Pods/Targets Support Files/Pods-XXX/Pods-MPBBank.debug.xcconfig)
- 在 xcconfig 中 CocoaPods 会生成 OTHER_LDFLAGS 的配置,该配置就是 XCode 的 Other Linker Flags,是链接器的链接选项
- CocoaPods 根据 spec 配的 vendored_frameworks 在 OTHER_LDFLAGS 中增加
-framework "MyFramework"
的配置,这个配置会让Framework参与到工程的链接中(关于 -framework 可参考苹果Framework Programming Guide) - 如果是静态库就到此为止,如果是动态库 CocoaPods 还会帮我们生成 Pods-xxx-frameworks.sh 的脚本,这个脚本的作用就是对动态库进行签名,同时将 Framework 拷贝到我们的APP中