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

par*_*tkr 13 xcode ios swift

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

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

Framework和app项目处于默认设置,两者都启用了Bitcode.

要确保Framework有bitcode,这个命令就在Framework上

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

产量

segname __LLVM

segname __LLVM

segname __LLVM

segname __LLVM

我错过了什么?我在这里包含了两个项目,您可以下载它们并尝试存档.

Dai*_*jan 32

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

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

不要
归档框架,然后使用该框架的存档版本从那时起.

要获取xcode来存档框架(通常它只存档应用程序),将框架目标的构建设置"skip install"设置为NO!


gbk*_*gbk 29

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

在此输入图像描述

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


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

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

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

更多关于bitcode的信息