Невозможно распространить приложение для разработки на Testflight из-за компонента iCloud - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь загрузить приложение в testflight с помощью Appcenter, и у меня есть функция хранения документов icloud, поэтому я добавил следующее recistement в invistement.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 enter image description here

Но когда я пытаюсь нажать релиз на itunes, подключиться к testflight, я получаю эту ошибку:

DEBUG [2018-04-2406: 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' не поддерживается. "

Распространение моего сертификатаи профиль обеспечения настроен на производство, как предлагается здесь: Какой тип сертификата и профиля обеспечения необходим для выпуска iOS Apple TestFlight? .

1 Ответ

0 голосов
/ 15 июля 2019

Я потратил тонны часов, пытаясь понять, как решить эту проблему в 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, когда он проверяет вашу среду профиля обеспечения через учетную запись разработчика Apple. API.

Надеюсь, это сработает.

...