XCode 13无法生成profdata文件

m528fe3b  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(262)

我们一直在使用以下代码在我们的公关管道多年,它的工作。

xcodebuild -sdk iphoneos -configuration dev -workspace MyProject.xcworkspace -scheme MyProject_Mu -destination 'platform=iOS Simulator,name=iPhone 8' test -derivedDataPath DerivedData CODE_SIGNING_ALLOWED=NO

通常,上述代码在文件夹下生成.profraw.profdataDerivedData/Build/ProfileData/41E444A5-D124-4222-82C2-EB33DCDBF2FC/
直到最近,我们的托管代理才从XCode 12升级到XCode 13,上面的代码只生成.profraw,并以下面的错误结束

warning: DerivedData/Build/ProfileData/41E444A5-D124-4222-82C2-EB33DCDBF2FC/B8590BD3-CF44-4308-95CF-20FBFFEF3568-24496.profraw: Failed to uncompress data (zlib)
error: No profiles could be merged.

我们甚至尝试运行以下代码,希望这样可以解决问题:

xcrun llvm-profdata merge DerivedData/Build/ProfileData/*/*.profraw -output generated.profdata

但它不起作用。我们得到同样的错误

warning: DerivedData/Build/ProfileData/41E444A5-D124-4222-82C2-EB33DCDBF2FC/B8590BD3-CF44-4308-95CF-20FBFFEF3568-24496.profraw: Failed to uncompress data (zlib)
error: No profiles could be merged.

现在我们的PR管道被卡住了,我们不能工作,因为需要这个脚本来生成单元测试覆盖率数据。

nhhxz33t

nhhxz33t1#

我通过将GCC_INSTRUMENT_PROGRAM_FLOW_ARCS设置为NO解决了该问题。由于某种原因,LLVM分析检测添加的额外代码干扰了代码覆盖率。我不确定这是否是预期的行为;我将提交一个错误,并跟进,如果我有任何进一步的信息。

相关问题