【问题标题】:Cannot distribute development app to Testflight due to iCloud component由于 iCloud 组件,无法将开发应用程序分发到 Testflight
【发布时间】:2018-10-05 00:32:57
【问题描述】:

我正在尝试通过 Appcenter 将应用程序上传到 testflight,并且我有 icloud 文档存储功能,因此我在 enlistement.plist 中添加了以下登记:

<?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 = ERROR ITMS-90046:“无效的代码签名权利。 您的应用程序包的签名包含代码签名权利 在 iOS 上不受支持。具体来说,重视“发展” 关键“com.apple.developer.icloud-container-environment” 'Payload/App.MobileApp.iOS.app/App.MobileApp.iOS' 不受支持。”

我的证书分发和配置文件已按照此处的建议设置为生产:What kind of Certifcate and Provisioning Profile is needed for an iOS Apple TestFlight release?

【问题讨论】:

  • 但它在抱怨上面的部分。也许你应该删除&lt;string&gt;Development&lt;/string&gt;
  • 我的文档中根本没有它
  • 是的,它在错误中提到的键的数组中:com.apple.developer.icloud-container-environment。数组中有两个条目:一个是生产,一个是开发。删除@valdetero 提到的行。请注意,您突出显示 com.apple.developer.icloud-container-identifiers 的条目,而不是 com.apple.developer.icloud-container-environment 作为错误州。
  • 您看到的第二张图片不是我的文档。我在 enlistement.plist 中拥有的只是第一个 xml

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


【解决方案1】:

我花了很多时间在 App Center 上试图弄清楚如何解决这个问题,我想出了一个解决方法。

使用此名称在您的权利中定义一个键: com.apple.developer.icloud-container-environment

将包含一个带有字符串值的数组: Production

您的权利将如下所示:

<key>com.apple.developer.icloud-container-environment</key>
<array>
    <string>Production</string>
</array>

确保您的构建定义处于 Release 或 AppStore 模式,并且您的配置文件中有正确的权利,您应该很好。

说明: 我认为通过 AppCenter 检查您的权利的过程是在获得可用于您的构建的环境时获得这两个值,而不是使用像 Xcode / VS Studio / Itunes Connect 在通过 Apples Developer Account 验证您的配置文件环境时使用的过程API。

希望这对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多