【问题标题】:iPA building failed with an exception - NonZeroExcitException while preparing build for QA test/ AdHodiPA 构建失败并出现异常 - 为 QA 测试/ AdHod 准备构建时出现 NonZeroExcitException
【发布时间】:2019-12-07 00:10:18
【问题描述】:

每次和我一起构建 ipa 都失败了

  • Xcode 10.2
  • iOS 10
  • 斯威夫特 5

  • 我为 AdHoc 创建了新的分发证书和配置文件

  • 关闭了 App Thinning 但还是不行。

  • 即使在查看了多个论坛和 SO 帖子上的类似问题之后 我尝试了多种技巧,但结果都是一样的。

如果有人看到以下错误消息有任何想法,那就绕道

这个版本有什么问题

完整的错误消息文本是:

“ipatool 因异常而失败:CmdSpec::NonZeroExcitException:命令以 pid 19900 exit 1 退出: /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool -v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin --sdk /Applications/ Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk -o /var/folders/f4/wbk3bb9500s8527_0_ncx1r40000gn/T/ipatool20190729-17893-1r436rx/thinned-out/armv7/Payload/ LanguageCurry.app/Frameworks/CardinalMobile.framework/CardinalMobile --generate-dsym /var/folders/f4/wbk3bb9500s8527_0_ncx1r40000gn/T/ipatool20190729-17893-1r436rx/thinned-out/armv7/Payload/LanguageCurry.app/Frameworks/CardinalMobile.framework /CardinalMobile.dSYM --strip-swift-symbols /var/folders/f4/wbk3bb9500s8527_0_ncx1r40000gn/T/ipatool20190729-17893-1r436rx/thinned-in/armv7/Payload/LanguageCurry.app/Frameworks/CardinalMobile.framework/CardinalMobile 标准输出: 调试:SDK 路径:/Applications/Xcode.app/Contents/Dev"

PS : 我正在使用以下一组 pod

pod 'Alamofire', '~> 4.5'
  pod 'GoogleSignIn'
  pod 'JVFloatLabeledTextField'
  pod 'Braintree'
  pod 'BraintreeDropIn'
  pod 'CTShowcase'
  pod 'Fabric'
  pod 'Crashlytics'
  pod 'Firebase/Core'
  pod 'SwiftyStoreKit'
  pod 'OneSignal', '>= 2.6.2', '< 3.0'

【问题讨论】:

  • 刚刚尝试在我的项目和所有框架上禁用 Bitcode。这对我有用。

标签: ios xcode build adhoc ipatool


【解决方案1】:

花了 3 天后,我找到了解决此问题的方法。

一些第三方 pod 不支持由于 App Thinning 和 Bitcode 功能导致的构建失败,因为它们的代码版本过时。


所以我不得不在我的 ipa 中关闭这些功能。

步骤 1. 转到项目设置并关闭 启用 Bitcode 选项


第 2 步。在构建 ipa 时关闭 App Thinning

【讨论】:

【解决方案2】:

我们有类似的问题,我描述了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 从二进制文件中关闭代码覆盖工具

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2015-02-20
    • 2018-07-28
    • 2019-02-23
    相关资源
    最近更新 更多