iOS8和Xcode – 如何使用cocoapod依赖关系分发embedded式框架

我需要创build一个编译框架分发给第三方。

我正在使用cocoa-pods来处理我的依赖。

为了做到这一点,创build一个dynamic链接框架似乎是最好的select,但我不确定并愿意提出build议。

我采取的步骤是:

  1. 我创build了一个包装项目来包含框架目标
  2. 在包装项目中,我添加了一个新的目标“cocoa触摸框架” – “MyFramework”
  3. 所有相关的代码被添加到目标
  4. 根据生成的注释向框架的.h文件添加import语句//在这个头文件中,您应该使用#import之类的语句导入框架的所有公共头文件
  5. 创build一个podfile – “pod init”
  6. 框架依赖关系添加到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项目代码

如果我不导入框架头,我得到一个运行时崩溃