首页 > 解决方案 > KVStore 标识符的 Xcode 10 iCloud 权利值不匹配错误

问题描述

我有一个项目,我们在其中手动管理权利,因为我们从同一个代码库部署了许多不同的应用程序。我们现在面临一个问题,升级到 XCode 10 后,我们收到一条错误消息

Provisioning profile "<profile>" doesn't match the entitlements file's value for the com.apple.developer.ubiquity-kvstore-identifier entitlement. (in target '<target-name>')

我们使用项目变量来填写权利的值,因为它指示我们在 Apple 文档中执行以在您的应用程序中启用 iCloud,如下所示:

<key>com.apple.developer.ubiquity-kvstore-identifier</key> <string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string>

而且,作为参考,这是我们在配置文件中看到此错误的值:

<key>com.apple.developer.ubiquity-kvstore-identifier</key> <string><team-identifier>.*</string>

注意 1:这在 Xcode 9.x 中有效,并且只是在我们升级到 Xcode 10 后才停止工作。

注意 2:当我打印出 的值时TeamIdentifierPrefix,它与 Provisioning Profile 包含的值相同。

注意 3:当我硬编码应该是什么值TeamIdentifierPrefix(我从配置文件中获得)时,它可以工作。

注意 4:可能很明显,但如果我从权利文件中删除 iCloud 权利,这将有效。

注意 5:我们在代码签名构建设置下提供每个应用程序各自权利文件的路径。

我无法想象如何解决项目变量或类似的事情发生了变化,所以我想知道是否有人有任何想法。

标签: iosxcodecode-signingxcode10entitlements

解决方案


推荐阅读