我在通过应用程序加载器上传应用程序时遇到问题。我使用了Xamarin Studio中的Archive for publishing功能,并在应用程序加载器中打开了创建的ipa。然后我得到了以下错误:
错误ITMS-90164:“无效的代码签名权利。应用程序捆绑包签名中的权利与设置配置文件中包含的权利不匹配。根据设置配置文件,捆绑包包含不允许的密钥值:‘Payload/MyApp.app/MyApp’中密钥'com.apple.developer.ubiquity-container-identifiers‘的’"iCloud.info.mycompany.myapp”
我的应用程序使用的是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>
...
发布于 2017-04-13 22:07:39
这真的很烦人!诀窍是打开项目的配置配置文件并检查字符串是什么。然而,如果这是一个你试图提交给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
一样。
https://stackoverflow.com/questions/30965056
复制相似问题