it-swarm.com.ru

xcodebuild -exportArchive: ошибка exportOptionsPlist для ключа 'method': ожидается один из {}

Я использую инструмент командной строки xcodebuild для экспорта специального файла ipa распределения из моего архива следующим образом:

xcodebuild -exportArchive -archivePath /path/Archive.xcarchive -exportPath /path -exportOptionsPlist /path/options.plist

Однако эта команда завершается с ошибкой

exportArchive: exportOptionsPlist error for key 'method': expected one of {}, but found ad-hoc

Независимо от того, какой «метод» я предоставляю в списке параметров экспорта, он всегда завершается с этой ошибкой. Он также завершится неудачей, если я удалю опцию 'method' из файла plist. 

26
Vladimir Grigorov

Сначала я заподозрил утилиту xcodebuild, но оказалось, что файл архива инвазирован. Когда я открыл файл архива в Xcode и попытался экспортировать файл ipa вручную, я заметил, что кнопки «Загрузить в App Store» и «Проверить» были отключены. После нажатия кнопки «Экспорт» он дал мне две опции: «Сохранить встроенные продукты» и «Экспортировать как архив XCode», но не было никакого специального экспорта экспорта и других обычных опций.

Оказалось, что в моем файле .app в архиве было немного библиотечных файлов. XCode считает, что это общий архив, а не архив приложений. Проверьте этапы сборки в настройках вашего проекта для копирования файлов заголовка и библиотеки. 

Для получения дополнительной информации см. https://developer.Apple. ru/library/ios/technotes/tn2215/_index.html

34
Vladimir Grigorov

У меня была эта проблема в одном из моих проектов. После обновления Cocoapods с 0.38.2 до 0.39.0 он пропал. 

Кроме того, у меня была другая связанная проблема. Экспорт не удался со следующей ошибкой:

2015-10-22 17:16:12.568 xcodebuild[91172:2171408] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/_l/2rl169m16p717gzldvh7n0600000gq/T/MyDriveEU_2015-10-22_17-16-12.568.xcdistributionlogs'.
2015-10-22 17:16:12.860 xcodebuild[91172:2171408] [MT] IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7fbc13f0c970>: Error Domain=IDEDistributionErrorDomain Code=1 "The operation couldn’t be completed. (IDEDistributionErrorDomain error 1.)"
error: exportArchive: The operation couldn’t be completed. (IDEDistributionErrorDomain error 1.)

Error Domain=IDEDistributionErrorDomain Code=1 "The operation couldn’t be completed. (IDEDistributionErrorDomain error 1.)"

** EXPORT FAILED **

Оказалось, что xcodebuild не понравился параметр teamID, который я добавил в exportOptions.plist. После того как я удалил его, приложение было успешно экспортировано.

8
Zmicier Zaleznicenka

У меня была такая же проблема в течение двух дней, Проблема возникла из сертификатов Apple . Удалите Apple Worldwide Developer Relations Authority из вашей цепочки для ключей (срок действия которой истекает 14 февраля) и обновите ее, загрузив:

https://developer.Apple.com/news/?id=02092016a

4
Razordrant

В моем случае у одной из моих статических библиотек не было включено Skip Install, и это привело к той же проблеме. Когда я установил в xcode Skip Install значение Yes для этого проекта, я исправил эту проблему.

3
Pavel

У меня была та же проблема, и я обнаружил при поиске в KeyChain, что сертификат, используемый для подписи, был отозван. Архивация работала нормально, но когда мы пришли к -exportArchive, мы получили эту загадочную ошибку. НТН.

0
Oliver Pearmain

https://developer.Apple.com/library/content/technotes/tn2215/_index.html#//Apple_ref/doc/uid/DTS40011221-CH1-PROJ

Проверьте следующие причины:

  • Ваш архив содержит заголовочные файлы.
  • Ваш архив содержит статические библиотеки или фреймворки.
0
Bigyelow