由于iCloud组件,无法将开发应用程序分发到Testflight

时间:2018-04-24 16:40:51

标签: ios xamarin xamarin.ios testflight visual-studio-app-center

我正在尝试通过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 enter image description here

但是当我尝试将发布推送到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?

1 个答案:

答案 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。

希望这对您有用。