我们的框架在进行Ad-hoc分发时导出存档时会报错缺少bitcode。
我已经阅读了苹果提供的有关文档Technical Note TN2432。该文档列出的可能根本原因与我们的情况不符。(我们不使用汇编指令,也没有格式错误的info.plist文件)
我阅读了SO上发布的类似问题:
使用启用bitcode时导出时出错(找不到armv7架构的符号)
但是提供的解决方案似乎都不起作用。
我尝试在用户自定义构建设置中添加BITCODE_GENERATION_MODE
标志。我还尝试在框架目标中的其他C标志中添加-fembed-bitcode
-标记和-fembed-bitcode
。
我使用建议的命令检查我的生成的框架中是否存在bitcode段。
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上。有关可帮助解决此问题的信息,请参阅Tech Note 2432。
PS: 对我们来说禁用位码不是一个选项,因为主机应用需要支持位码。