我正在使用iOS8动态框架,我自己构建并在我的iOS应用程序中链接 . 它在模拟器和设备上工作正常,但在尝试为其存档Release版本时,我不断收到此错误:
代码签名错误:找不到匹配的配置文件:没有任何有效的配置文件允许指定的权利:com.apple.developer.ubiquity-kvstore-identifier,keychain-access-groups,com.apple.developer.icloud-container- identifier,com.apple.developer.icloud-services,com.apple.security.application-groups,com.apple.developer.ubiquity-container-identifiers . CodeSign错误:SDK'iOS 8.3'中的产品类型'Framework'需要代码签名
在应用程序目标 - >构建阶段 - >嵌入框架 - >框架链接在那里,并选中“复制代码签名”复选框 .
在框架目标 - >构建设置 - >我已将Provisioning Profile设置为“Automatic”,对于Code Sign Identity,在Release下,我正在使用“iOS Distribution”
我有3个不同的应用程序目标,需要构建此框架 .
我糊涂了:
-
框架是否需要在开发人员中心注册自己的AppID?
-
框架是否需要它自己的配置文件?
-
框架可以使用iOS应用目标中的相同Entitlements文件吗?
谢谢 .
2 回答
我有同样的问题,但修复它:
在目标设置的“常规”选项卡中将团队设置为“无” .
更改此值似乎还会将构建设置中的代码签名参数重置为“iOS Developer”以进行调试和发布 . 如果没有,那么自己改变这些参数 .
我现在可以构建我的框架而没有错误 .
可以通过在终端中输入 codesign --display --verbose=4 FRAMEWORK_PATH 来检查新构建的框架以进行签名 .
此工具应返回: code object is not signed at all
该框架不需要在开发人员中心,配置文件或权利中注册自己的应用程序ID . 我在应用商店中有一个应用,其中包含应用目标,今天的扩展目标,观看扩展目标以及共享代码的框架目标 .
我正在尝试使用第二个应用程序来解决此问题,我试图通过更改框架的签名来使用自动设置而不是“不要代码签名”(iOS开发者身份/自动配置文件) . 这会导致错误消失,并且在存档期间框架似乎仍然会像人们期望的那样被重新签名 . 似乎需要一些构建设置,即使它只是要辞职 .
编辑:值得一提的是,一旦将其设置为自动,您还必须安装适用于为正在构建的目标设置的包ID的配置文件(通配符开发配置文件应该足够) .