Ответ 1
Похоже, вы используете ручную подпись кода (определяется Export Options property list
в вашем сообщении об ошибке). Возможно, вам следует переключиться на автоматическую подпись кода в соответствии с рекомендациями Apple, если это соответствует вашим потребностям.
Проблема заключается в том, что формат exportOptions.plist не совместим с Xcode 9
. Пустой список распространения для Xcode 9
теперь выглядит примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>provisioningProfiles</key>
<dict>
<key>MY_APP_BUNDLE_ID</key>
<string>MY_PROFILE_NAME_AS_SHOWN_BY_XCODE or UUID_FOUND_IN_MOBILEPROVISION_FILE</string>
</dict>
<key>signingCertificate</key>
<string>iOS Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>teamID</key>
<string>MY_TEAM_ID</string>
</dict>
</plist>
Вы можете увидеть список поддерживаемых опций для exportOptions.plist
, запустив xcodebuild -help
.
Вы можете получить полезный обзор того, как этот материал работает в Xcode 9
, посмотрев это видео:
https://developer.apple.com/videos/play/wwdc2017/403/
Вы также можете получить помощь, выполнив поиск "Подписание вручную" в поле поиска XCode.
Вы можете создать фиктивный файл exportOptions.plist
, следуя процедуре, описанной здесь Анной Батки в BitRise:
http://blog.bitrise.io/2017/08/15/new-export-options-plist-in-Xcode-9.html
Вы должны знать, что если вы выполните шаги Анны, используя Xcode 9 beta 5
, exportOptionsPlist
не будет экспортироваться. Это поведение снова работает в Xcode 9 GM
.
Чтобы определить значение вашего профиля обеспечения в файле exportOptionsPlist
, вы можете просмотреть содержимое файла .mobileprovision, который вы хотите использовать, и задать ключ для идентификатора пакета вашего приложения ('com.foo') и значение UUID в вашем файле .mobileprovision.
Вы можете увидеть профили обеспечения, которые будет использовать сборка, посмотрев здесь:
ls ~/Library/MobileDevice/Provisioning\ Profiles/
Другим полезным инструментом является использование функции QuickLooks в Finder для просмотра значений профилей обеспечения без необходимости запуска редактора.