"Ошибка ipatool с исключением: # <CmdSpec::NonZeroExitException:" при архивировании с XCFramwork, включен Bitcode

Я не могу заархивировать ipa при выборе опции экспорта "Перестроить из битового кода", получаю следующую ошибку

ipatool failed with an exception: #<CmdSpec::NonZeroExitException: $ /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool
-v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
-

Примечание:- Я проверил, что все мои структуры зависимостей имеют формат.xcframework и поддерживают Bitcode.

Может ли кто-нибудь помочь мне здесь? Заранее спасибо.

2 ответа

У нас есть аналогичная проблема, которая описана здесь . Короче говоря, были включены инструменты LLVM, которые предотвращают обработку AppStore. Я написал целый блог о проблемах XCode 12 и BigSur с XCFramework .

Подводя итог, вот несколько обязательных шагов, чтобы убедиться, что при создании XCFrameworkдля распространения:

  • Использование архивных сборок ОБЯЗАТЕЛЬНО , релизной сборки недостаточно
  • BUILD_LIBRARY_FOR_DISTRIBUTIONдолжен быть установлен на YES
  • SKIP_INSTALL должен быть установлен на NO
  • GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NOчтобы отключить инструменты GCC и удалить их из двоичного файла
  • CLANG_ENABLE_CODE_COVERAGE = NOчтобы отключить инструменты покрытия кода из бинарного файла

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

Получил точно такую ​​же проблему,

      ipatool failed with an exception: #<CmdSpec::NonZeroExitException: 
$ /Applications/Xcode.app/Contents/Developer/usr/bin/python3...
......

Status: pid 52712 exit 1
Stdout:
    SDK path: /Applications/Xcode.app/Contents/Developer/Platforms
/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk

Причина, по которой он был создан, заключалась в том, что у меня было bitcode enabledв production targetно другие цели ( share-extension, debug, share-extension-debug) а также project level bitcodeбыл установлен на No.

Когда я включил все, это сработало для меня.

Обратите внимание, что все фреймворки и двоичные файлы, от которых я зависел, имели битовый код.

Другие вопросы по тегам