1

当使用自定义 XCODE_CONFIGURATION_BUILD_DIR 构建工作区时,我无法生成代码覆盖率数据。

我们运行 xcodebuild 命令来使用 XCODE_CONFIGURATION_BUILD_DIR 构建工作区,这样多个 jenkins CI 作业不会覆盖其他同时运行的作业的构建输出。

当我们为以这种方式生成的构建运行测试并尝试获取代码覆盖率报告时,该命令失败并出现以下错误。

jenkins$ xcrun xccov 视图 *.xccovreport

错误:错误域 = IDEFoundationErrorDomain 代码 = 14“无法将目录 /Users/jenkins/Library/Developer/Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82 中的原始配置文件合并到目标 /Users/jenkins/Library/Devel Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82/Coverage.profdata: No profile data files were written to '/Users/jenkins/Library/Developer/Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82'"UserInfo={NSLocalizedDescription=无法将目录/Users/jenkins/Library/Developer/Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82 中的原始配置文件合并到目标/Users/jenkins/Library/Developer/Xcode/XXXDerivedData/ -buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82/Coverage.profdata: No profile data files were written to '/Users/jenkins/Library/Developer/Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82'}/Users/jenkins/Library/Developer/Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82'}/Users/jenkins/Library/Developer/Xcode/DerivedData/XXXXXX-buggtqumttnpjvejnbfhulhqcvno/Build/ProfileData/bff950eda0f75b2dbadb3ce08510474b4667ac82'}

版本/内部版本:版本 10.1 (10B61)

4

1 回答 1

0

在Github上找到这个帖子

问题是:为失败生成覆盖Static Library,但不是为 Dynamic Library.

所以检查它是否有效,在 pbxproj 上进行更改:

- MACH_O_TYPE = staticlib;
+ MACH_O_TYPE = mh_dylib;

在此处输入图像描述

它确实在我的示例框架上成功生成了覆盖率。

于 2019-05-17T17:22:42.860 回答