2016-10-27 1 views
0

Я создаю приложение iOS, и я использую xcodebuild build ... для создания моего проекта и xcrun -sdk iphoneos PackageApplication ... для создания ipa. Когда я пытаюсь опубликовать ИПА в App Store я получаю следующее сообщение об ошибке:Как опубликовать ipa, который создается командой xcodebuild build

ERROR ITMS-90668: "Invalid Bundle Executable. The executable file 'Project.app/Project' contains incomplete bitcode.

я обнаружил, что есть решение этой проблемы - установить Enable Bitcode в No. Но это не то, что я ищу, потому что, если я создаю новый проект для рабочей области, мне нужно установить этот параметр на No для нового проекта, так как значение по умолчанию - Yes.

Есть ли другое решение этой проблемы?

ответ

0

После некоторых исследований я обнаружил, что, когда я использую xcodebuild build ...иEnable Bitcode установлен в Yes-fembed-bitcode-marker добавляются в OTHER_CFLAGS для звона. Этот флаг добавляет вместо «полного» битового кода «placeplace» для битового кода. Это сделано Apple, потому что генерация биткода может замедлить сборку. Для генерации полного битового кода -fembed-bitcode-marker необходимо заменить на -fembed-bitcode.

После создания ipa с полным битным кодом я смог опубликовать свое приложение в App Store.

Другим решением моей проблемы заключается в использовании xcodebuild archive ... вместо xcodebuild build ... строить свой проект и xcodebuild -exportArchive -archivePath <path to the .xcarchive> ... вместо xcrun -sdk iphoneos PackageApplication ... создать свой ИПС. При использовании метода архива -fembed-bitcode-marker автоматически заменяется -fembed-bitcode, а мой ipa содержит двоичные файлы с полным битовым кодом.