iOS8动态框架 -> CodeSign错误: 在iOS 8.3 SDK中,'Framework'产品类型需要代码签名。

18
我正在使用自己构建和链接到我的iOS应用程序中的iOS8动态框架。这在模拟器和设备上都能正常工作,但在尝试为其归档发布版本时,我一直收到此错误:
“代码签名错误:找不到匹配的配置文件:没有一个有效的配置文件允许指定的授权:com.apple.developer.ubiquity-kvstore-identifier、keychain-access-groups、com.apple.developer.icloud-container-identifiers、com.apple.developer.icloud-services、com.apple.security.application-groups、com.apple.developer.ubiquity-container-identifiers。 CodeSign错误:SDK“iOS 8.3”中的产品类型“Framework”需要代码签名。”
在应用程序目标->构建阶段->嵌入框架内,该框架已连接,并且已选中“复制时代码签名”复选框。
在框架目标->构建设置->我已将配置文件设置为“自动”,并在发布下的代码签名身份中使用“iOS分发”。
我有3个不同的应用程序目标需要基于此框架构建。
我困惑了:
1. 框架是否需要在开发人员中心注册自己的AppID? 2. 框架是否需要自己的配置文件? 3. 框架可否使用iOS应用目标中相同的授权文件?
谢谢。
2个回答

12

我曾遇到同样的问题,但通过以下步骤解决:

在目标设置的“通用”选项卡中将团队设置为“None”。

更改此值似乎也会重置构建设置中的代码签名参数,对于调试和发布都变成“iOS Developer”,如果没有,则需要自行更改这些参数。

现在,我可以无误地构建我的框架了。

可通过在终端中输入codesign --display --verbose=4 FRAMEWORK_PATH来检查新构建的框架是否已签名。

此工具应返回:code object is not signed at all


7
该框架不需要在开发者中心注册自己的应用ID、配置文件或授权。我在App Store上有一个包含应用目标、今日扩展目标、手表扩展目标和共享代码框架目标的应用程序。我在为第二个应用程序设置构建时遇到了这个问题,通过将我的框架签名更改为使用自动设置而不是“不要编码签名”(iOS开发者身份/自动配置文件),我已经解决了这个问题。这会导致错误消失,而且框架似乎仍然会像预期的那样在归档期间重新签名。似乎即使只是重新签名,也需要一些构建设置。编辑:值得一提的是,一旦您将其设置为自动模式,您必须安装适用于正在构建的目标的捆绑ID的配置文件(通配符开发配置文件就足够了)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接