Xcode 7 bitcode_strip error
Мой проект бета3 Xcode 7 включает в себя некоторые фреймворки, скомпилированные Xcode 6, эти фреймворки импортируются в мой проект с помощью опции Embeded Frameworks на вкладке "Фаза сборки". Поскольку эти платформы не поддерживают битовый код, поэтому параметр "Включить битовый код" был установлен на "Нет", при компиляции проекта произошла ошибка Bitcode_strip:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Framer/FLworks/F Пользователи / panzhansheng / Библиотека / Разработчик / Xcode / DerivedData / MusicFans-bxutvotiungdbwfsxloykffnqoqs / Build / Продукты / Debug-iphoneos / MusicFans.app /FLAC.framework/FLAC /Applications/Xcode-beta.app/Contents/DeefsXode xctoolchain/usr/bin/bitcode_strip: входной файл должен быть связанным файлом Mach-O, а не архивом: /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC (для архитектуры i386): bitcode_strip /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefolited_xcodest_setup_x_1
Я обнаружил, что ошибка произошла, когда XCode скопировал мои фреймворки в мой пакет приложений и попытался удалить битовый код из фреймворка, но эти фреймворки были скомпилированы ранней версией XCode и вообще не включали битовый код. Как это исправить? Спасибо!
2 ответа
Как я выяснил, XCode использует полосу бит-кода, только когда переменная окружения STRIP_BITCODE_FROM_COPIED_FILES установлена в YES. Кажется, что по умолчанию установлено значение YES, когда enable_bitcode включен.
Добавление пользовательской настройки STRIP_BITCODE_FROM_COPIED_FILES=NO к вашей цели может помочь вам, XCode не будет использовать полосу бит-кода, но ваше приложение, которое будет использовать платформы без секции бит-кода, вероятно, не будет работать. Поэтому лучше перекомпилировать их, используя STRIP_BITCODE_FROM_COPIED_FILES=NO, если это необходимо.
Проверено на XCode 7 бета 5
В ответ на ответ М. Погосского мне потребовалось некоторое время, чтобы отследить, куда поместить установку бита STRIP_BITCODE_FROM_COPIED_FILES (не слишком знаком с этим). для справки вот иллюстрация:
Это произошло из-за нехватки памяти / места на диске в системе Mac. Когда я его очистил. Он работает плавно, не очищаясь.