iOS8和Xcode – 如何使用cocoapod依赖关系分发embedded式框架
我需要创build一个编译框架分发给第三方。
我正在使用cocoa-pods
来处理我的依赖。
为了做到这一点,创build一个dynamic链接框架似乎是最好的select,但我不确定并愿意提出build议。
我采取的步骤是:
- 我创build了一个包装项目来包含框架目标
- 在包装项目中,我添加了一个新的目标“cocoa触摸框架” – “MyFramework”
- 所有相关的代码被添加到目标
- 根据生成的注释向框架的.h文件添加import语句//在这个头文件中,您应该使用#import之类的语句导入框架的所有公共头文件
- 创build一个podfile – “pod init”
- 将框架依赖关系添加到podfile
podfile看起来像:
# Uncomment this line to define a global platform for your project # platform :ios, '6.0' target 'Wrapper' do end target 'InnerFramework' do platform :ios, '7.0' pod "AFNetworking", "~> 2.0" end
我需要使用“ InnerFramework
”目标来分发框架。
这是我卡住的地方 –
框架需要包含所有的pod依赖关系,并且能够在模拟器和实际设备上运行(从客户的angular度) – 框架还需要符合app store提交规则,即arm 64bit等
最终用户不能访问原始的源代码 – 所以我不能指望他们重新编译。
最终用户也可能正在使用AFNetworking
,它可能是一个不同的版本,即“1.0”
当我试图将框架集成到testing项目时,我得到了运行时exception以及编译时错误(取决于我在构build规则中设置的标志)。
我试图将框架复制到一个testing项目
然后在“Build阶段”中,我添加了“复制文件”,并在“复制代码”旁边的checkbox中添加“内部框架”
我得到错误“无法build立模块”InnerFramework“”
如果我将框架头导入testing项目代码
如果我不导入框架头,我得到一个运行时崩溃