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

标签 ios xcode xcode6 codesign alamofire

Xcode 6.1.1

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

然而,每次我们尝试在物理设备上运行时,这个引用的框架都会抛出构建错误:“CodeSign 错误:SDK“iOS 8.1”中的产品类型“Framework”需要代码签名。

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

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

最佳答案

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

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

在目标的“Build Phases”下有一个名为“Embed Frameworks”的步骤,您可以在其中指定要嵌入到包中的框架以及要编码的内容:

Embed frameworks build phase

他们是否已有签名并不重要:您的签名将替换那里的任何内容。

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

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

并打印歌唱实体:

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

关于ios - 引用框架需要 Xcode6 代码签名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28289652/

相关文章:

iphone - 如何从Cocos2D返回UIkit?

ios - 我想在不使用任何第三方框架的情况下将过滤器应用于录制的视频。我曾尝试将 CIfilter 用于 CAlayer 但它不起作用

objective-c - 取消所有本地通知;不适用于 iPhone 3GS

swift - Swift 框架上的桥接文件

ios - 隐藏/显示状态栏时禁用导航栏动画

objective-c - 从较长的 NSString 返回一个自动换行的 NSString

Swift 框架 "Module ' 找不到 RealityKit”

ios - UIImageView 缩放/淡入淡出动画?

ruby - 无法让 CocoaPods 工作

ios - 在 swift 中展开可选值时意外发现 nil