我正在尝试通过Appcenter将应用程序上传到testflight,并且我有icloud文档存储功能,因此我在enlistement.plist中添加了以下enlistement:
<?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>
<array>
<string>CloudKit</string>
<string>CloudDocuments</string>
</array>
<key>com.apple.developer.icloud-container-identifiers</key>
<array>
<string>iCloud.com.company.appname</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
</dict>
</plist>
我遵循了这个教程: https://developer.apple.com/library/content/technotes/tn2415/_index.html
但是当我尝试将发布推送到itunes连接到testflight时,我收到了这个错误:
DEBUG [2018-04-24 06:34:46.43]:[Transporter]:DBG-X:参数 ErrorMessage =错误ITMS-90046:&#34;无效的代码签名权利。 您的应用程序包的签名包含代码签名权利 iOS上不支持。具体而言,价值发展&#39;对于 key&#39; com.apple.developer.icloud-container-environment&#39;在 &#39;有效载荷/ App.MobileApp.iOS.app / App.MobileApp.iOS&#39;不受支持。&#34;
我的证书分发和配置文件按照此处的建议设置为生产:What kind of Certifcate and Provisioning Profile is needed for an iOS Apple TestFlight release?。
答案 0 :(得分:0)
我花了很多时间试图弄清楚如何在App Center上解决此问题,并提供了解决方法。
使用以下名称在您的权利中定义一个密钥:
com.apple.developer.icloud-container-environment
将包含一个带有字符串值的数组:
Production
您的权利将如下所示:
<key>com.apple.developer.icloud-container-environment</key>
<array>
<string>Production</string>
</array>
确保您的构建定义处于“发布”或“ AppStore”模式,并且您的配置文件中具有正确的权利,并且应该不错。
说明: 我认为通过AppCenter检查您的权利的过程在获取可用于构建的环境时会同时获得两个值,而不是使用Xcode / VS Studio / Itunes Connect通过Apples开发人员帐户验证您的配置文件环境时使用的过程API。
希望这对您有用。