0

每次和我一起构建 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'
4

2 回答 2

0

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

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


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

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

在此处输入图像描述


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

在此处输入图像描述

于 2019-08-01T01:34:28.557 回答
0

我们有类似的问题,我在这里描述过,我只是不想分享我们的调查结果,因为似乎没有人公布他们的结果。无需在没有位码的情况下进行分发。长话短说,其中包含 LLVM 工具,这会阻止 AppStore 处理。我写了一篇关于XCode 12 和 BigSur 与 XCFramework 问题的博客

总而言之,这里有一些必要的步骤来确保在创建XCFramework分发时:

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

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

于 2020-12-22T09:10:29.990 回答