ios - 静态库中的 ENABLE_BITCODE

标签 ios static-libraries

我正在开发一个分发给许多开发人员的静态库。现在我遇到了位码生成的问题。 当我将此库包含到 xcode 项目并尝试将其存档时,链接器产生错误

MyModule.o 不包含位码。您必须在启用位码的情况下重建它(Xcode 设置 ENABLE_BITCODE),从供应商处获取更新的库,或者为此目标禁用位码。用于架构 arm64

我尝试了所有可能的事情(来自 herehere )但没有任何帮助。启用位码标志后,宿主项目仍然无法存档。

奇怪的是 otool -l 命令说所有模块都包含一个位码部分。那为什么xcode工程不能归档呢?

最佳答案

如果错误确实来自您的库(而不是您项目中的其他库或框架),您可以从 Xcode 7 再次编译静态库。

默认情况下 - 它会在您的build设置中添加选项“enable_bitcode”。 确保将其设置为 yes(默认值),并且所有其他源也使用 lib 支持位码编译(如果不是 - 您将收到错误)- 一切顺利。

替代方法是在使用您的库的 Xcode 项目中启用_bitcode = no(通知您的开发人员)。

关于ios - 静态库中的 ENABLE_BITCODE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192792/

相关文章:

ios - 在 UIDatePicker 中将 Years 设置为最大值

ios - 在我的任何代码运行之前,iOS Keyboard Extension崩溃

c - C静态库是如何工作的?

c++ - 在构建链接到静态库的动态库时,我可以导出静态库的函数吗?

linux - 尝试在 redhat 机器中构建应用程序并从链接器获取 undefined reference 错误

visual-studio - 找出库是否需要静态或动态运行时

ios - monotouch 库和我使用的一些第 3 方库中的重复符号

升级到 Xcode 4.5 后,iOS 5 SDK 消失了

android - 防止 iOS/Android 用户伪造 GPS 位置

ios - UITableViewCell 布局在重用单元格之前不会更新