Ошибка отсутствия профиля обеспечения при архивировании с использованием xcodebuild - PullRequest
1 голос
/ 08 апреля 2020

для автоматизации процесса сборки приложения я пытаюсь собрать приложение iOS с помощью командной строки

Команда построения

xcodebuild archive -project sample.xcodeproj -scheme "sample" -archivePath $PWD/archive/sample.xcarchive -destination generic/platform=iOS -UseModernBuildSystem=NO

Команда экспорта

xcodebuild -exportArchive -archivePath $PWD/archive/sample.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath $PWD/build -UseModernBuildSystem=NO

Ниже приведена ошибка

Ошибка домена = IDEProvisioningErrorDomain Code = 9 "" sample.app "требуется профиль обеспечения." UserInfo = {IDEDistributionIssueSeverity = 3, NSLocalizedDescription = "sample.app" требуется профиль обеспечения., NSLocalizedRecoverySuggestion = Добавить профиль в словарь "provisioningProfiles" в списке свойств параметров экспорта.}

Обратите внимание что архив из Xcode работает нормально. И файл Info.plist из архивной папки archive/sample.xcarchive/Info.plist не содержит словаря профилей обеспечения.

В соответствии с другими предложениями в Google и StackOverflow я попробовал следующее

  1. Измененная сборка настройки для Legacy build
  2. Удалена папка профилей Provisioning из ~ / Library / MobileDevice
  3. Обновлен Xcode до последней версии (в настоящее время 11.4)
  4. создал мягкую оболочку ~ / Library / MobileDevice в / Library / MobileDevice
  5. Воссозданный профиль обеспечения в учетной записи разработчика.

Может ли кто-нибудь помочь мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Я получил ту же ошибку после обновления до XCode 11.3. Это связано с новыми типами сертификатов Apple Development и Apple Distribution .

. Отредактируйте профиль обеспечения и выберите использование в Xcode 11. Используйте этот новый профиль обеспечения, чтобы исправить эту ошибку.

0 голосов
/ 10 апреля 2020

Что наконец-то сработало, так это удаление подстановочного знака при упоминании идентификатора приложения в файле exportOptions.plist.

<?xml version="1.0" encoding="UTF-8"?>
<dict>
    <key>provisioningProfiles</key>
    <dict>
        <key>APP_ID_WITHOUT_WILDCARD_CHAR</key>
        <string>PROVISIOING_PROFILE_NAME_AS_SEEN_BY_XCODE</string>
    </dict>
    <key>method</key>
    <string>app-store</string>
    <key>signingCertificate</key>
    <string>iPhone Distribution</string>
    <key>signingStyle</key>
    <string>manual</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>TEAM_ID</string>
    <key>uploadSymbols</key>
    <true/>
</dict>
</plist>
...