Подтвердить что ты не робот

ITMS-90668 - Недействительный исполняемый пакет. Исполняемый файл содержит неполный биткод

Вчера я начал получать странное сообщение об ошибке из iTunes Connect:

ITMS-90668
Invalid Bundle Executable.
The executable file '...' contains incomplete bitcode.
To compile binaries with complete bitcode, open Xcode and choose Archive in the Product menu.

На самом деле, я получаю много одинаковых сообщений для каждой из встроенных фреймворков.

Я использую Bitcode, и я не изменил ни одного связанного с ним битового кода в моем проекте. Это похоже на новое требование ITMS (или ошибка). И я не знаю, как это исправить.

Похоже, эта проблема загадочно связана с инструментами CI, такими как Shenzhen или BuddyBuild. Или, может быть, это связано с случаями, когда зависимости содержат предварительно скомпилированный код.

На всякий случай, мое приложение:

  • Имеются ли эти зависимости, которые имеют предварительно скомпилированный код: BuddyBuildSDK, Firebase, CardIO.
  • Написано в Swift.
  • Расширение клавиатуры iOS.
  • Использовать BuddyBuild.
  • Используйте CocoaPods.

Update:

Я практически ничего не изменил, а затем проблема исчезла вчера. Я не знаю, почему именно. Я считаю, что Apple просто исправила эту ошибку или проблема с ней.

4b9b3361

Ответ 1

У меня была такая же проблема с некоторыми зависимостями подкачки. Я изменил настройку сборки "Включить биткод" для каждого проекта pod, вызывающего проблему (следуя описаниям ошибок из itunesconnect). Теперь все работает.

Вы можете установить его в подфайле. Вот пример, который изменяется для каждой зависимости:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

Найдено здесь: Отключить биткод для зависимостей проекта и cocoapods от Xcode7?