Framework was built without full bitcode - Framework bitcode already enabled

拈花ヽ惹草 提交于 2019-12-05 05:25:47

Try to set Skip Install to YES and Embed Bitcode to YES in framework build settings.

Bitcode is an abstract encoding of an app that can be used to re-compile it in different ways, given a set of instructions. You can confirm whether your binary is bitcode-compatible by running :

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

When you build normally, Xcode adds the build flag -fembed-bitcode-marker to any clang invocation.

To Add -fembed-bitcode: select project Build Settings -> Other C flags, set Debug to -fembed-bitcode-marker and Release to -fembed-bitcode this will build your lib with bitcode.

BITCODE_GENERATION_MODE

If you set BITCODE_GENERATION_MODE=bitcode on your User-defined Setting, even during the build phase, the files will be compiled using the flag -fembed-bitcode.

And, if you set BITCODE_GENERATION_MODE=marker, the files will be compiled using the flag -fembed-bitcode-marker, independent of the action phase.

So, if you want to enable the bitcode to every action (build and archive), the better way to do so is using the BITCODE_GENERATION_MODE setting you can do so either manual or by script.

Manual

On Build Settings, click on the + sign at the top to add a user-defined build setting with the name BITCODE_GENERATION_MODE, and set Debug to marker, Release to bitcode.

Edit schema as Release Then link the library.a file and get the build path get the library form Release folder

Script

xcodebuild BITCODE_GENERATION_MODE=bitcode OTHER_CFLAGS="-fembed-bitcode" -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!