Фреймворк был построен без полного битового кода - Фреймворк с битовым кодом уже включен - PullRequest
0 голосов
/ 06 декабря 2018

Получение этой ошибки при архивации моего приложения.Используемые фреймворки - мои.Так что я перепроверил.Биткод в фреймворке включен.Не уверен, почему я получаю эту проблему.Это настройки сборки в моем фреймворке:

enter image description here

Я следовал по этой ссылке , но не сделалРабота.Попытался установить -fembed-bitcode в настройках проекта фреймворка (не цели, а проекта, поскольку это рекомендуется в ссылке).

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Битовый код - это абстрактная кодировка приложения, которая может использоваться для его повторной компиляции различными способами с учетом набора инструкций.Вы можете проверить, является ли ваш двоичный файл совместимым с битовым кодом, выполнив:

otool -l (my .o or .a file) | grep __LLVM.

При обычной сборке Xcode добавляет флаг сборки -fembed-bitcode-marker к любому вызову clang.

Для добавления -fembed-bitcode: выберите проект Настройки сборки -> Другие флаги C, установите Debug на -fembed-bitcode-marker и Release на -fembed-bitcode, это создаст вашу библиотеку с битовым кодом.

BITCODE_GENERATION_MODE

Если вы установите BITCODE_GENERATION_MODE=bitcode в своем пользовательском параметре, даже на этапе сборки файлы будут скомпилированы с использованием флага -fembed-bitcode.

И,если вы установите BITCODE_GENERATION_MODE=marker, файлы будут скомпилированы с использованием флага -fembed-bitcode-marker независимо от фазы действия.

Итак, если вы хотите включить битовый код для каждого действия (сборка и архивирование),Лучший способ сделать это - использовать параметр BITCODE_GENERATION_MODE, который можно сделать вручную или с помощью сценария.

Ручной

В настройках сборки нажмите значок +вверху, чтобы добавить пользовательский параметр сборки с именем BITCODE_GENERATION_MODE и установить Debug на marker, Release на bitcode.

Редактировать схему как Release Затем свяжите файл library.a иполучить путь сборки получить библиотеку форму Папка выпуска

Сценарий

xcodebuild BITCODE_GENERATION_MODE = битовый код OTHER_CFLAGS = "- fembed-bitcode" -target "$ {PROJECT_NAME}" ONLY_ACTIVE_ARCH = NO -configuration $ {CONFIGURATION} -sdk iphoneos BUILD_DIR_ROOK_RD_RD_RD_RD_RD_RT_RT_RT_RT_RT_RTTT $ {$ BUILD_DIR_RT_RT_RT_RTT_RT_RT_RT_RT_TRTT $чистая сборка

0 голосов
/ 11 декабря 2018

Попробуйте установить Пропустить Установку на ДА и Вставить битовый код на ДА в настройках сборки фреймворка.

Skip Install

Embed Bitcode

...