【发布时间】:2018-03-06 08:46:51
【问题描述】:
包含我们框架的应用程序在导出存档以进行临时分发时抱怨缺少位码。
我已经阅读了 Apple 在这方面提供的文档 Technical Note TN2432。文档列出的可能根本原因与我们的情况不同。 (我们没有使用汇编指令或有格式错误的 info.plist 文件)
我已经完成了在 SO 上发布的类似问题
Error while exporting with Bitcode enabled (symbol not found for architecture armv7)
Is it possible to create a universal iOS framework using bitcode?
但提供的解决方案似乎不起作用。
我尝试在用户定义的构建设置中添加BITCODE_GENERATION_MODE 标志。我还尝试在框架目标的其他 C 标志中添加 -fembed-bitcode-marker 和 -fembed-bitcode。
我使用suggested 命令检查生成的框架中是否存在位码段
otool -l -arch arm64 <framework_name> | grep __LLVM
显示2段
segname __LLVM
segname __LLVM
但是在导出存档时,Xcode 仍然抱怨缺少位码。
我尝试在 App Store 上上传应用以验证此问题是否是由 Xcode 版本引起的(我尝试了 8.3.3 和 9.0),但我收到了以下关于来自 iTunes Store 的构建导入错误的电子邮件。
在处理您的 iOS 应用 APP_NAME 1.0(4) 时,应用瘦身过程中出现错误,您的应用无法瘦身。如果您的应用程序包含位码,则位码处理可能会失败。由于这些错误,您的应用程序版本将无法提交以供审核或放置在 App Store 上。有关可能有助于解决此问题的信息,请参阅技术说明 2432。
PS:禁用位码对我们来说不是一个选项,因为主机应用程序需要支持位码。
【问题讨论】:
标签: ios xcode app-store-connect bitcode