【问题标题】:"ipatool failed with an exception: #<CmdSpec::NonZeroExitException:" on archiving with XCFramwork, Bitcode enabled“ipatool 因异常而失败:#<CmdSpec::NonZeroExitException:”在使用 XCFramwork 归档时,启用了位码
【发布时间】:2020-06-23 12:30:18
【问题描述】:

选择“从位码重建”导出选项时,我无法存档 ipa,出现以下错误

ipatool failed with an exception: #<CmdSpec::NonZeroExitException: $ /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool
-v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
-

注意:- 我检查了我所有的依赖框架都是 .xcframework,支持 Bitcode。

有人可以帮我吗?提前致谢。

【问题讨论】:

  • 首先,我想澄清一下,在为企业或内部测试发布时,我是否应该启用“从位码重建”选项。据我了解,如果我们上传了仅启用了 Bitcode 的 ipa,Apple Appstore 会从 bitcode 重建应用程序。发布到 Appstore 时是否应该勾选“从位码重建”选项?
  • 我也有这个问题。我的解决方法是在 Targets > Build Settings > Enable Bitcode 中关闭 Bitcode。我想知道为什么它在启用 Bitcode 时不起作用。
  • @Ganeshpatro 您找到解决问题的方法了吗?我遇到过类似的情况,所以任何见解都将不胜感激。谢谢

标签: ios xcode xcode11 bitcode xcframework


【解决方案1】:

我们遇到了类似的问题,描述为here。 长话短说,其中包含 LLVM 工具,这会阻止 AppStore 处理。我写了一篇关于 XCode 12 and BigSur issues with XCFramework 的完整博客。

总而言之,在创建XCFramework 进行分发时,需要确保以下几个步骤:

  • 必须使用归档构建,发布构建还不够
  • BUILD_LIBRARY_FOR_DISTRIBUTION 必须设置为 YES
  • SKIP_INSTALL 必须设置为 NO
  • GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO 关闭 GCC 检测并将其从二进制文件中删除
  • CLANG_ENABLE_CODE_COVERAGE = NO 从二进制文件中关闭代码覆盖工具

以上所有内容有助于解决我们的准备和分发问题,如果您碰巧遇到与我们相同的问题,希望能为您节省一些时间。

【讨论】:

  • 没有帮助我:(
猜你喜欢
  • 2021-01-21
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 2018-03-12
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多