首页>Program>source

我正在开发一个依赖项为" Dependency1"的框架" CurrentFramework",它可以很好地运行示例项目,构建框架并进行测试。

但是当我想收集框架的代码覆盖率时,会发生以下错误:

duplicate symbol '_lprofMergeValueProfData' in:
    /directory/Documents/CurrentFrameworkProject/Pods/Dependency1/Dependency1.framework/Dependency1
    /directory/Library/Developer/Xcode/DerivedData/CurrentFramework-hhnbyyjwzomjgjasdrewahvxlmyq/Build/Products/Debug-iphonesimulator/CurrentFramework.framework/CurrentFramework
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试使用其他3个导入" Dependency1"的框架进行此操作,其中只有1个框架可以正确获取代码覆盖率数据。

有人建议检查我是否在某处导入了" .m"而不是" .h",但我认为情况并非如此(我检查了所有文件)

最新回答
  • 10天前
    1 #

    并非最佳答案,但这是我已经完成的一些解决方法。

    制作一个文件来存储排除的符号(_lprofMergeValueProfData).在此示例中,我将其命名为hidden_​​list。 hidden_​​list

    将文件放在项目根目录下。

    在Xcode项目中,转到"目标"并在"构建设置"中搜索"未导出的符号文件".添加包含要排除的列表的文件名(hidden_​​list)。 exclude_symbols

    再次运行您的项目,该错误应该消失了。

  • css:如何设置带有圆角的垂直线的样式?
  • tfs:天蓝色devops跨域