无法生成(在归档时)位码束,因为静态框架(.framework)是在没有完整位码的情况下构建的

时间:2018-07-03 09:21:44

标签: ios xcode xcode9 ios-frameworks bitcode

我们正在尝试在静态框架中完全启用Bitcode,但是当我们将其与框架集成在一起时,尽管我们能够在模拟器或设备上构建它,但在归档应用程序时却收到以下错误消息。

ld: bitcode bundle could not be generated because '.framework/p-iOS(PTFWOperationPrepareTransaction.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build file '.framework/p-iOS' for architecture armv7

我们已通过otool -l Versions/A/p-iOS | grep __bitcode验证了位码状态,并且好像已正确启用了它 enter image description here

以下是我们在框架端为 bitcode 设置的项目, enter image description here

以下是我们在应用程序端的位代码的项目设置, enter image description here

谦虚的请求: 请检查上述截图中的设置,因为我们已经检查了所有与SO相关的查询,因此请请勿作为参考。 enter image description here

此外,我们已经尝试Static Libraries, Frameworks, and Bitcode来解决问题。

谢谢。

1 个答案:

答案 0 :(得分:3)

我建立的框架也有这个问题。 这对我有用:

  1. 在框架项目 Build Settings 中将Other C Flags设置为-fembed-bitcode

  2. 在框架 target Build Settings 中添加一个名为BITCODE_GENERATION_MODE的用户定义标志,其值为bitcode

  3. 在框架项目和目标中,都应在Enable Bitcode上设置Yes