iOS8和Xcode - 如何使用可可pod依赖关系分发嵌入式框架

Avn*_*arr 7 xcode cocoa objective-c ios cocoapods

我需要创建一个编译框架,以便分发给第三方.

cocoa-pods用来处理我的依赖项.

为了实现这一点,似乎创建动态链接框架是最佳选择,但我不确定并愿意接受建议.

我采取的步骤是:

  1. 我创建了一个包含框架目标的包装器项目
  2. 在包装器项目中,我添加了一个新目标"Cocoa touch framework" - "MyFramework"
  3. 所有相关代码都会添加到目标中
  4. 根据生成的注释向框架的.h文件添加了import语句//在此标题中,您应该使用#import之类的语句导入框架的所有公共头文件
  5. 创建了一个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
Run Code Online (Sandbox Code Playgroud)

我需要使用" InnerFramework"目标来分发框架.

这是我被卡住的地方 -

框架需要包含所有pod依赖项,并且能够在模拟器和实际设备上运行(从客户的角度来看) - 框架还需要符合app store提交规则,即arm 64bit等.

最终用户无法访问原始源代码 - 因此我不能指望他们重新编译.

最终用户也可能正在使用AFNetworking,它可能是不同的版本,即"1.0"

当我尝试将框架集成到测试项目时,我得到了运行时异常以及编译时错误(取决于我在构建规则中设置的标志).

我试图将框架复制到测试项目中

然后在"构建阶段"中添加"复制文件"并添加"内部框架",并在"复制代码签名"旁边的复选框中添加

我收到错误"无法构建模块'InnerFramework'"

如果我将框架标头导入测试项目代码

如果我不导入框架头,我会遇到运行时崩溃