ios + icloud:com.apple.developer.ubiquity-container-identifiers值不允许

时间:2015-06-21 13:31:34

标签: c# ios xamarin icloud cloudkit

我在通过Application Loader上传我的应用时遇到问题。我在Xamarin Studio中使用了Archive for publishing功能,并在应用程序加载器中打开了创建的ipa。然后我收到以下错误:

错误ITMS-90164:“无效的代码签名权利。应用程序包签名中的权利与供应配置文件中包含的权利不匹配。根据供应配置文件,捆绑包含不允许的密钥值:'[“iCloud.info.mycompany.myapp”]'用于'Payload / MyApp.app / MyApp'中的密钥'com.apple.developer.ubiquity-container-identifiers'“

我的应用程序正在使用cloudkit,因此我添加了一个icloud容器,并将其与开发人员门户中的app id相关联。

entitlements.plist:

...
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
    <string>iCloud.info.mycompany.myapp</string>
</array>
<key>com.apple.developer.icloud-services</key>
<array>
    <string>CloudDocuments</string>
    <string>CloudKit</string>
</array>
...

1 个答案:

答案 0 :(得分:0)

这真烦人! 诀窍是打开项目的配置文件并检查字符串是什么。 但是,如果它是您尝试提交到AppStore的应用程序,则应该只使用与生产相关的字符串。 例如,我的一个权利就是这个:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.developer.icloud-services</key>
    <string>CloudKit</string>
    <key>com.apple.developer.icloud-container-environment</key>
    <array>
      <string>Production</string>
    </array>
    <key>com.apple.developer.icloud-container-identifiers</key>
    <array>
      <string>iCloud.[MY BUNDLE]</string>
    </array>
    <key>com.apple.developer.ubiquity-container-identifiers</key>
    <array>
      <string>iCloud.[MY BUNDLE]</string>
    </array>
  </dict>
</plist>

[MY BUNDLE]br.com.riandesign.myproject类似。