在存档我的应用程序时遇到此错误。使用的框架是我自己的。所以我交叉检查。框架中的位代码已启用。不知道为什么会收到这个问题。这些是我框架中的构建设置:
我关注了this link,但没有成功。试图在框架的项目(不是目标,而是项目,因为在链接中建议使用)中设置 -fembed-bitcode 。
答案 0 :(得分:3)
答案 1 :(得分:1)
如果您执行以下命令
直到他们才能工作
因此,在更改构建设置后,您需要运行flutter build
答案 2 :(得分:0)
Bitcode是应用程序的抽象编码,可以根据给定的一组指令以不同的方式重新编译它。您可以通过运行确认您的二进制文件是否与位码兼容:
otool -l (my .o or .a file) | grep __LLVM
。
正常构建时,Xcode将构建标志-fembed-bitcode-marker
添加到任何clang调用中。
要添加-fembed-bitcode
:选择项目的Build Settings-> Other C标志,将Debug设置为-fembed-bitcode-marker
,将Release设置为-fembed-bitcode
,这将使用位代码来构建您的lib。
BITCODE_GENERATION_MODE
如果您在用户定义的设置上设置了BITCODE_GENERATION_MODE=bitcode
,即使在构建阶段,也将使用标志-fembed-bitcode
来编译文件。
而且,如果您设置BITCODE_GENERATION_MODE=marker
,则将使用标志-fembed-bitcode-marker
来编译文件,而与操作阶段无关。
因此,如果您想对每个动作(构建和存档)启用位码,则更好的方法是使用BITCODE_GENERATION_MODE
设置,您可以手动或通过脚本来实现。
手册
在“构建设置”上,单击顶部的+号以添加名称为BITCODE_GENERATION_MODE
的用户定义的构建设置,然后将“调试”设置为marker
,将“发布”设置为bitcode
。
将架构编辑为Release,然后链接library.a文件并获取构建路径,获取库表单Release文件夹
脚本
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 =“ $ { “干净的构建
答案 3 :(得分:0)
添加到您的项目(无目标),并为每个项目添加到您的项目(例如Pod),在“构建设置”中添加一个“用户定义”:
BITCODE_GENERATION_MODE 调试=标记 发布=位码
答案 4 :(得分:0)
Build Settings-> User-Defined->添加设置BITCODE_GENERATION_MODE,然后设置值:bitcode
答案 5 :(得分:0)
项目设置->选择框架目标->构建设置
在其他C标志
中添加-fembed-bitcode
单击+按钮->添加用户定义的设置
密钥: BITCODE_GENERATION_MODE ,值:位代码
在“构建”设置中将“仅将活动体系结构构建为是”。
答案 6 :(得分:-1)
对于下一个灵魂,它如OP中所述启用了所有功能,但仍无法使用它来存档应用程序,这对我有用: