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 просто исправила эту ошибку или проблема с ней.
Ответы
Ответ 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?
Ответ 2
Просто зарегистрируйте проблему в библиотеке git card.io:
https://github.com/card-io/card.io-iOS-SDK/issues/205
Я надеюсь решить эту ситуацию как можно скорее!