xcode 7.1 swift框架应用程序构建但不归档

时间:2015-11-07 07:53:13

标签: ios xcode swift

我在Swift,xcode 7.1中创建了一个示例框架。 然后构建该框架用于Profiling,发布版本。 然后将发布的框架添加(嵌入)到iOS测试应用程序。

应用程序构建正常,但在尝试存档时。说明发生错误 "无法生成bitcode包,因为' ... / Test / FW.framework / FW'没有完整的bitcode。 bitcode的所有框架和dylib必须从Xcode Archive或Install build for architecture arm64"

生成

框架和应用程序项目处于默认设置,两者都启用了Bitcode。

为了确保Framework有bitcode,这个命令在Framework

" otool -l FW.framework / FW | grep __LLVM"

产量

segname __LLVM

segname __LLVM

segname __LLVM

segname __LLVM

我错过了什么? 我已经包含了两个项目here,您可以下载它们并尝试存档。

2 个答案:

答案 0 :(得分:30)

xcode要求在归档期间生成所有嵌入式框架的bitcode。

复制framework / dylib的发布版本是不够的

<强>做
归档框架,然后从那时起使用框架的存档版本。

让xcode归档一个框架(通常它只归档应用程序),将框架目标的构建设置'skip install'设置为NO!

答案 1 :(得分:26)

如果您可以构建框架(例如,如果您使用自己的框架),则可以进行以下操作

enter image description here

这将允许您的框架提供所需的bitcode。

如果您没有watchOS和Apple TV(根据文档),则另一种选择可能适用

  

对于iOS应用,bitcode是默认设置,但是可选。如果你提供   bitcode,应用程序包中的所有应用程序和框架都需要包含   位码。对于watchOS和tvOS应用程序,需要bitcode。

此选项需要为buildSetting中的每个目标设置ENABLE_BITCODENO,但正如预期的那样,这禁止使用bitcode功能。

有关bitcode here

的更多信息