Ошибка Xcode 11 при экспорте IPA Профили для my.bundle.id не найдены

12

Я использую XCode для создания файлов экспорта .ipa для отправки в Apple. Я делал это успешно до обновления с Xcode 10 до Xcode 11.

Некоторые из ошибок, с которыми мы столкнулись, наводили на мысль о том, что нам нужно было полностью удалить Xcode, потому что ранее у нас была бета-версия, а старая версия бета-версии Xcode, вероятно, вызывала проблемы. Я решил просто очистить весь Mac с помощью перезагрузки системы, чтобы избежать попадания любой копии Xcode Beta или ее настроек на компьютер. Так что теперь это совершенно новая установка Mac OS. Я переустановил Xcode.

Я импортировал свои старые сертификаты в связку ключей и проверил, что у меня есть только действительные сертификаты в списке.

Я запускаю две команды. Я сначала создаю архив. Затем я использую архив для экспорта ipa:

xcodebuild -allowProvisioningUpdates -workspace my_app.xcworkspace -scheme XXXX -archivePath build-dev/XXXX.xcarchive archive
xcodebuild -exportArchive -archivePath build-dev/XXXX.xcarchive -exportOptionsPlist release.plist -exportPath build-dev

Обратите внимание, что я заменил схему на XXXX, а идентификаторы пакетов в моих примерах были заменены на «my.bundle.id».

Этот процесс работает для разработки .ipa. Однако, когда я иду, чтобы создать Testflight или Production .ipa, я получаю ошибки.

Первая команда выполняется без ошибок, и у меня есть архивный файл, созданный в «build-dev / XXX.archive». Вторая команда генерирует ошибки:

2019-09-30 12:11:46.444 xcodebuild[10674:326155] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/10/8g5xrhr56wz6sgttzh0_s8fr0000gn/T/XXXX_2019-09-30_12-11-46.444.xcdistributionlogs'.

2019-09-30 12:11:56.534 xcodebuild[10674:326208]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEFoundation/Provisioning/Logging/IDEProvisioningLedger.m:172

Details:  Unable to close provisioning ledger entry because not all of its subentries are closed
Object:   <IDEProvisioningLedgerEntry: 0x7ff7568b7a00>
Method:   -closeWithError:
Thread:   <NSThread: 0x7ff750b16af0>{number = 14, name = (null)}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
error: exportArchive: Create certificate

Error Domain=IDEProvisioningErrorDomain Code=19 "Create certificate" UserInfo={IDEDistributionIssueSeverity=3, IDEProvisioningError_UserInfoKey_IDEProvisioningUserAction=<IDEProvisioningCreateTeamOwnedCertificateUserAction: 0x7ff756acf0c0>, NSLocalizedRecoverySuggestion=Create a new Apple Distribution certificate for your team., NSLocalizedDescription=Create certificate}

error: exportArchive: No profiles for 'my.bundle.id' were found

Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'my.bundle.id' were found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No profiles for 'my.bundle.id' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching 'my.bundle.id'.}

Это мой файл release.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>method</key>
    <string>app-store</string>
    <key>teamID</key>
    <string>MY-TEAM-ID</string>
    <key>compileBitcode</key>
    <false/>
</dict>
</plist>

Я могу построить из XCode успешно. Это только экспорт командной строки, который я выдал.

Идентификатор пакета существует в моей учетной записи developer.apple.com. У меня есть действующий сертификат iOS Development и iOS Distrobution в настройках XCode.

Я не уверен, почему я получаю эти ошибки.

Дэрил
источник

Ответы:

15

Эй, у меня тоже была эта проблема. Чтобы исправить это, мне нужно было создать архивный файл и экспортировать файл IPA для TestFlight из xCode с помощью графического интерфейса. Во время этого процесса xCode смог создать сертификат, которого он пропустил. Теперь я могу успешно запускать команды командной строки xCode.

Шаги по использованию графического интерфейса для создания необходимого сертификата:

  • Открыть Xcode
  • Выберите продукт
  • Выберите «Архив» (если «Архив» серого цвета, сначала выполните сборку для универсального устройства iOS.)
  • Выберите Распространить приложение
  • Выберите App Store Connect из списка переключателей и нажмите кнопку «Далее».
  • Выберите «Экспорт из списка переключателей» и нажмите «Далее».
  • Проверьте создание сертификата Apple Distribution.
  • Экспорт сертификата в качестве резервной копии и поделиться с другими разработчиками.

Ниже приведен снимок экрана окна «Создать сертификат Apple Distribution», который необходимо щелкнуть в процессе графического интерфейса.

введите описание изображения здесь

Остин
источник
1
Спасибо, что решили проблему. Мне потребовалось сделать это для каждой компании, для которой мы строим. Я только что проверил «генерировать сертификат» в графическом интерфейсе, как вы упомянули, и теперь инструменты командной строки работают. Выглядит как ошибка в яблоке, потому что, когда я добавляю флаг -allowProvisioningUpdates, он не обновляет автоматически профили, сертификаты и т. Д.
Дэрил
Я столкнулся с этой проблемой при загрузке собственного приложения в TestFilght. Но я уже установил свой .p12, почему я вижу этот экран? Кто-нибудь может помочь?
Акшай Джадхав