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

问题描述:

我有一个问题,通过应用程序加载器上传我的应用程序。我在Xamarin Studio中使用了Archive发布功能,并在应用程序加载器中打开了创建的ipa。然后出现以下错误:ios + icloud:com.apple.developer.ubiquity-container-identifiers值不允许

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

我的应用程序使用的是cloudkit,所以我添加了一个icloud容器并将它与开发人员门户中的应用程序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> 
... 
+0

我收到了同样的错误。如果您找到解决方法,请告诉我。 – Dpedrinha

这实在是烦人! 诀窍是打开项目的配置文件并检查字符串是什么。 但是,如果它是一个应用程序,你试图submite到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