Фреймворк был построен без полного битового кода - Фреймворк с битовым кодом уже включен
Получение этой ошибки при архивации моего приложения. Используемые фреймворки - мои. Так что я перепроверил. Биткод в фреймворке включен. Не уверен, почему я получаю эту проблему. Это настройки сборки в моем фреймворке:
Я пошел по этой ссылке, но не работал. Попытка установить -fembed-bitcode в проекте фреймворка (не цели, а проекта, так как это рекомендуется в ссылке).
8 ответов
Попробуйте установить " Пропустить установку" на " YES" и " Вставить битовый код в YES" в настройках сборки фреймворка.
Бит-код - это абстрактная кодировка приложения, которая может использоваться для его повторной компиляции различными способами с учетом набора инструкций. Вы можете проверить, совместим ли ваш двоичный код с битовым кодом, запустив:
otool -l (my .o or .a file) | grep __LLVM
,
Когда вы строите нормально, Xcode добавляет флаг сборки -fembed-bitcode-marker
на любой лязг вызова.
Добавить -fembed-bitcode
: выберите проект Build Settings -> Other C flags, установите Debug на -fembed-bitcode-marker
и отпустить -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
Выпустить в bitcode
,
Отредактируйте схему как Release Затем свяжите файл library.a и получите путь сборки, получите форму библиотеки Release folder
скрипт
xcodebuild BITCODE_GENERATION_MODE= битовый код OTHER_CFLAGS="-fembed-bitcode" -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -конфигурация ${CONFIGURATION} -sdk iphoneos BUILD_DIR="$} BUILD_DB = BUD BUILD_DB = BUD BUIL $
Если вы выполните команды ниже
- Включить битовый код 'установлен на' ДА 'Добавление
- Флаги 'Добавление'BITCODE_GENERATION_MODE'со значением' bitcode 'устанавливают для пропуска установки значение "да"
они не будут работать, пока
- порхать чисто
- флаттер сборка ios
так что после изменения настроек сборки вам нужно запустить flutter build
В моем случае у меня есть проект Unity, и я хочу экспортировать его в библиотеку ios для интеграции с другим проектом. Поэтому мне нужно заархивировать его -> Xcode показывает, что «библиотека была построена без полного битового кода»
Мое решение для этого случая:
- Target -> Framework нужен архив -> Настройка сборки -> Включить биткод = НЕТ
введите описание изображения здесь
Надеюсь, это полезно
Настройки проекта -> Выбрать цель платформы -> Настройки сборки
Добавить
-fembed-bitcode
в других флагах Cнажмите кнопку + -> Добавить пользовательскую настройку
Ключ: BITCODE_GENERATION_MODE, значение: битовый код
Только для сборки активных архитектур установите значение Да в настройках сборки.
Настройки сборки -> Пользовательские -> Добавить параметр BITCODE_GENERATION_MODE, затем установить значение: битовый код
Добавьте в свой проект (без цели) и для каждого проекта в свой проект (например, Pods) один "Пользовательский" в настройках сборки:
BITCODE_GENERATION_MODE Debug = маркер Release = битовый код
Для следующей души, которая приходит и у которой все включено, как описано в OP, но все еще не удалось заархивировать приложение, используя его, вот что сработало для меня:
- Настройте все, как указано в OP.
- Архивировать продукт
- Экспортируйте его в свою файловую систему
- Найдите экспортированный файл mySadLittleFramework.xcarchive.
- Щелкните файл правой кнопкой мыши и выберите Показать содержимое пакета.
- Продукт -> Библиотека -> Frameworks будет содержать файл mySadLittleFramework.framework
- Перетащите / скопируйте куда-нибудь этот файл.
- Добавьте этот файл в проект своего приложения в качестве фреймворка.
- Заархивируйте приложение.