提醒
因为Pods对Project的更改具有入侵性,为了防止这个入侵,可以 准备一个 Pods-Bridge.xcodeproj 用来引入Cocoapods
这个解决方案感觉有点取巧。。。希望模块化有经验的人士可以在Github的issue给予指导
目的
- 可以使用Pods管理的第三方库为了方便引用
- 不能需要对每个Project都配置一个Podfile
- 每个Project在脱离了Podsfile的管理时也可以单独编译通过
- 而不会因为Podfile产生的脚本Not Found在Build时报错
对现有项目进行Frameworks改造
需要使用到Pods的模块,仅需通过Framework的形式引入Cocoapods生成的第三方库即可,步骤如下
- 新建 Pods-Bridge.xcodeproj
- 为 Pods-Bridge.xcodeproj 准备Podfile
- 为 Pods-Bridge.xcodeproj 进行 pod install
- 新建自己的 workspace AppGroup.xcworkspace
- 将自己的 SharedLib.xcodeproj 和 pod install生成Pods.xcodeproj 拖入AppGroup.xcworkspace
- 配置SharedLib.xcodeproj 的 Framework Search Path为 Podfile中的 EXPORT_DEST_DIR
完成以上操作后,在整个AppGroup.xcworkspace 中的任何Project都可以以Framework的形式引入 Cocoapods管理的第三方库
使用Bridge后 Xcode头文件联想问题
可以在 Build Settings———— Framework Search Path 输入编译目录,则会再Framework编译后正常联想
1 | $(TARGET_BUILD_DIR) |
Podfile
1 | # 这里标记使用Framework |
备注
如果仅有一个App的情况,Pods-Bridge.xcodeproj可以是App的工程 App.xcodeproj,那么上文的 AppGroup.xcworkspace 和由 Podfile生成的 Pods-Bridge.xcworkspace就是一个Workspace