引用框架需要Xcode6代码签名?

时间:2015-02-03 01:02:53

标签: ios xcode xcode6 codesign alamofire

Xcode 6.1.1

我们正在尝试签署我们的应用程序以进行分发(甚至只是在物理设备上进行测试)。我们的项目中有一个引用的框架。我们的印象是我们应该只签署我们的应用程序(并且我们已经设置了所有代码签名身份,配置文件等),但是我们不应该签署这个外部框架,因为我们没有写它。它应该从父项目中获取其代码签名凭证。

但是,每当我们尝试在物理设备上运行时,此引用的框架都会引发构建错误:" CodeSign错误:产品类型需要代码签名'框架'在SDK' iOS 8.1'"。

这是否意味着我们实际上必须对此进行编码?

具体来说,我们尝试使用的框架是Alamofire。

1 个答案:

答案 0 :(得分:4)

我认为这取决于这些框架的来源:

  • 如果他们是您的(即您正在捆绑项目的内部图书馆),则需要签名。
  • 如果它们来自您从源代码构建的开源项目(即来自Cocoapods的pod),则必须对其进行签名。
  • 如果他们来自第三方开发者,他们应该已经签名。

在目标的“构建阶段”下面有一个名为“嵌入框架”的步骤,您可以在其中指定要在您的捆绑中嵌入哪个框架以及编码符号:

Embed frameworks build phase

如果他们已经有签名并不重要:你的将取代那里的任何东西。

您始终可以使用codesign命令行工具检查框架的证书状态:

xcrun codesign --verify --verbose [MYFramework.framework/MYFramework]

并打印唱歌实体:

xcrun codesign --display --verbose [MYFramework.framework/MYFramework]