Создайте толстый фреймворк в xcode11 с полным битовым кодом - PullRequest
1 голос
/ 22 января 2020

Что я пытаюсь сделать:

Я пытаюсь построить инфраструктуру cocoapods в xcode11, а затем использовать ее в iOS SDK.

Что я пробовал:

  • Установите Enable Bitcode на да
  • Прежде чем строить каркас, я установил Other C flags на -fembed-bitcode и -fembed-bitcode-marker соответственно для выпуска и отладки.

  • Я также установил пользовательскую настройку сборки на BITCODE_GENERATION_MODE как bitcode и marker.

  • Сборка для симулятора и устройства; установка схемы сборки для выпуска.

  • Следуйте этой статье , чтобы построить толстый каркас с использованием липо.

С какой проблемой я сталкиваюсь:

После выпуска предварительной версии платформы для Cocoapods я устанавливаю ее в свой SDK. Сбой сборки для SDK для устройства (выпуска) со следующим сообщением:

ld: bitcode bundle could not be generated because '/Users/sourobratasarkar/Library/Developer/Xcode/DerivedData/Beaconstac-dpnhqvwchyqaeyavlbmfsntqlgnn/Build/Products/Release-iphoneos/EddystoneScanner/EddystoneScanner.framework/EddystoneScanner' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '/Users/sourobratasarkar/Library/Developer/Xcode/DerivedData/Beaconstac-dpnhqvwchyqaeyavlbmfsntqlgnn/Build/Products/Release-iphoneos/EddystoneScanner/EddystoneScanner.framework/EddystoneScanner' for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

В нем говорится, что платформа была построена без полного битового кода для архитектуры arm7.

Есть ли что-нибудь, что я отсутствует при построении каркаса? Используя lipo -info, я вижу, что присутствует архитектура arm7.

PS: сборка завершается успешно для отладки (как устройства, так и симулятора) и выпуска (симулятор).

1 Ответ

0 голосов
/ 24 января 2020

Оказывается, не было никаких проблем в том, как я построил фреймворк. Добавление следующего к Podfile SDK, где я использовал каркас, решило это для меня:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['BITCODE_GENERATION_MODE'] = 'bitcode'
            config.build_settings['ENABLE_BITCODE'] = 'YES'
        end
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...