框架是在没有完整bitcode的情况下构建的 - 已经启用了Framework bitcode

Nit*_*ish 7 xcode ios ios-frameworks

在存档我的应​​用程序时出现此错误.使用的框架是我自己的.所以我交叉检查.框架中的Bitcode已启用.不知道为什么我会遇到这个问题.这些是我的框架中的构建设置:

在此输入图像描述

我按照这个链接但没有奏效.试图在框架的项目中设置-fembed-bitcode(不是目标,而是项目,因为建议在链接中)设置.

Jho*_*awk 12

Bitcode 是应用程序的抽象编码,可用于在给定一组指令的情况下以不同方式重新编译它。您可以通过运行以下命令来确认您的二进制文件是否与位码兼容:

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

正常构建时,Xcode 会添加构建标志 -fembed-bitcode-marker到任何 clang 调用中。

添加-fembed-bitcode:选择项目构建设置 -> 其他 C 标志,将调试设置为-fembed-bitcode-marker和发布,-fembed-bitcode这将使用位代码构建您的库。

BITCODE_GENERATION_MODE

如果您设置BITCODE_GENERATION_MODE=bitcode了用户定义的设置,即使在构建阶段,文件也将使用标志编译-fembed-bitcode

并且,如果您设置BITCODE_GENERATION_MODE=marker,文件将使用标志编译-fembed-bitcode-marker,独立于操作阶段。

因此,如果您想为每个操作(构建和存档)启用位码,更好的方法是使用BITCODE_GENERATION_MODE您可以手动或通过脚本执行的设置。

手动的

在 Build Settings 上,单击顶部的 + 号以添加名称为 的用户定义的构建设置BITCODE_GENERATION_MODE,并将 Debug 设置为marker,Release设置为bitcode

Edit schema as 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 build="$OT}BUILD


Vit*_*nko 7

尝试在框架构建设置中将“ 跳过安装设置 为“是”, 并将“ 启用位码设置为“ 是”

跳过安装

嵌入位码

  • @VitaliyGozhenko我尝试通过构建产品将我的框架存档并导出到某个文件夹,但导出的产品文件夹为空 (2认同)