Xcode 12存档失败:ipatool失败,并出现以下异常:#<CmdSpec :: NonZeroExitException

问题描述

我一直在为这个错误苦苦挣扎2周,并且尝试了几乎所有在线可用的解决方案。尝试导出临时IPA时,出现以下错误

{ 代码= 1061; description =“ ipatool失败,并发生以下异常:# ['/Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo', '-信息', '/var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/ipatool20201005-8057-ws4wo9/thinned-in/arm64/Payload/HelloWorld.app/HelloWorld']\n -=输出=-\ n非胖文件:/var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/ipatool20201005-8057-ws4wo9/thinned-in/arm64/Payload/HelloWorld.app/HelloWorld 是体系结构:arm64 \ n以0 \ n退出\ n命令取0 秒\ n使用: /Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump\n GetUUID:cd / \ n
['/Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump', '-u', '/var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/ipatool20201005-8057-ws4wo9/thinned-in/arm64/Payload/HelloWorld.app/HelloWorld']\n -=输出=-\ n UUID:E5D8E7AF-7D34-32E1-9337-A84BC4389DFC(arm64)/ var / folders / n7 / bmb8rpvx1r7g762vv1bm66lm0000gn / T / ipatool20201005-8057-ws4wo9 / thinned-in / armello / Pay。 HelloWorld \ n 以0退出\ n \ n命令花费了0秒\ n使用: /Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/segedit\n ExtractXAR:cd / \ n
['/Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/segedit', '/var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/ipatool20201005-8057-ws4wo9/thinned-in/arm64/Payload/HelloWorld.app/HelloWorld', '-提取','LLVM','捆绑', '/var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/HelloWorld8zix1rk8/HelloWorld.arm64.xar']\n -=输出=-\ n以0 \ n \ n退出命令花费了0秒\ n位码捆绑版本:1.0 \ n将平台设置为:iOS \ n使用: /Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld\n 捆绑软件的链接器选项验证失败 /var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/HelloWorld8zix1rk8/HelloWorld.arm64.xar (无法识别的参数:-sectalign DATA llvm_prf_cnts -sectalign DATA llvm_prf_data)\ n \ nStderr:\ n \ n> \ n
/Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:373:in run'\n /Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:2808:in 在CompileOrStripBitcodeInBundle中阻止\\
/Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:2747:in each'\n /Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:2747:in CompileOrStripBitcodeInBundle'\ n
/Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:3016:in block in ProcessIPA'\n /Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:2978:in 每个'\ n
/Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:2978:in ProcessIPA'\n /Applications/Xcode_new.app/Contents/Developer/usr/bin/ipatool:3928:in '“; 信息= { }; 级别=错误; 类型=异常; } ); extractWatchIPAInputPath =“/var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/XcodedistPipeline。~~~UmHmV8/Root”; }

这里有趣的部分是最后一个输出

-=输出=-\ n以0 \ n \ n退出命令花费了0秒\ n位码捆绑版本:1.0 \ n将平台设置为:iOS \ n使用: /Applications/Xcode_new.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld\n 捆绑软件的链接器选项验证失败 /var/folders/n7/bmb8rpvx1r7g762vv1bm66lm0000gn/T/HelloWorld8zix1rk8/HelloWorld.arm64.xar (无法识别的参数:-sectalign DATA llvm_prf_cnts -sectalign DATA llvm_prf_data)

看到llvm_prf_cnts和llvm_prf_data后,我检查了this apple guide并禁用了代码覆盖率,还禁用了GCC_INSTRUMENT_PROGRAM_FLOW_ARCS

我们启用了位码,并且在Xcode 11中也可以使用相同的设置。

有人可以说明为什么会这样吗?任何线索将不胜感激。谢谢。

解决方法

最后找到了问题?

CLANG_ENABLE_CODE_COVERAGE设置为NO,但CFLAG -fprofile-instr-generate仍然设置。删除-fprofile-instr-generate可行:)