Ios 向Xcode中添加了单元测试目标-未能导入桥接头赢得';别走开
我在Xcode项目中添加了一个新的测试目标。我的项目有Swift代码和Objective-C代码,并且有一个桥接头。在将桥接头添加到UnitTesting的构建设置中,或者执行导入MyTarget时,我得到了错误: 无法导入桥接标头 我试过:Ios 向Xcode中添加了单元测试目标-未能导入桥接头赢得';别走开,ios,swift,xcode,unit-testing,bridging-header,Ios,Swift,Xcode,Unit Testing,Bridging Header,我在Xcode项目中添加了一个新的测试目标。我的项目有Swift代码和Objective-C代码,并且有一个桥接头。在将桥接头添加到UnitTesting的构建设置中,或者执行导入MyTarget时,我得到了错误: 无法导入桥接标头 我试过: 将桥接头添加到项目、单元测试和主目标的构建设置中 将定义模块更改为是 将桥接头文件移动到根文件夹 我也尝试过制作一个示例项目,它构建得很好,运行得很好。在这一点上,把我所有的东西都投入到一个全新的项目中是不可取的。在这一点上,我从来都不需要导入MyTa
- 将桥接头添加到项目、单元测试和主目标的构建设置中
- 将
更改为定义模块
是
- 将桥接头文件移动到根文件夹
我也尝试过制作一个示例项目,它构建得很好,运行得很好。在这一点上,把我所有的东西都投入到一个全新的项目中是不可取的。在这一点上,我从来都不需要导入MyTarget来让单元测试在Swift中工作 通用解决方案
- 我想你已经试过了,但不清楚你是否同时将桥接头添加到了应用目标和测试目标中
- 另一种可能并不理想的选择是在测试目标中添加一个桥接头,这样实际上就有两个桥接头。它们看起来应该是一样的,这将是一个很好的测试
- 如果使用
引用桥接头路径,请确保对其进行评估以获得正确的路径$(SRCROOT)
- 若所有这些都失败了,那个么您应该使用您的一个工作项目来执行
的文件差异,并匹配任何可能不同的相关值.xcodeproj
桥接头系统并不完美,但我遇到了一些问题。如果使用CocoaPods作为包管理器,则必须设置搜索路径等。提供一种简单的方法 尝试将其添加到播客文件中:
target 'YourProductTests' do
inherit! :search_paths
# Pods for testing
end
和pod安装
它对我有用
如果上述解决方案不适用于您,请尝试手动设置:
框架搜索路径
,标题搜索路径
,库搜索路径
的值。可能此处丢失了某些搜索路径,请再次手动添加我也面临同样的问题。我做了以下操作,解决了“未能导入桥接头”的问题 步骤:
参考资料:@Victor Choy解决方案适合我,但我必须将测试目标移动到产品目标中,如下所示:
target 'YourProduct' do
# Pods for product
target 'YourProductTests' do
inherit! :search_paths
# Pods for product testing
end
end
这对我不起作用:
target 'YourProduct' do
# Pods for product
end
target 'YourProductTests' do
inherit! :search_paths
# Pods for product testing
end
这可能对某些人有用:如果将单元测试目标添加到已经包含CoCoapod和一些Objective-C库的现有项目中 以下步骤解决了导入桥接头失败的问题
你在这方面有什么进展吗?我也有同样的问题…@ManuelM。将
${SDKROOT}/usr/include/libxml2
添加到项目的头搜索路径。如果对你有效,请告诉我。恐怕不行…:(@ManuelM.you find a solution?@swalkner它通过Xcode的进一步版本得到了解决。最终它成功了。我真的不知道我做了什么不同,抱歉。我想我在Bridgeting-header中添加了一些需要的框架。第二个选项对我有效。没有使用CocoaPods。这很有效。这件事在任何地方都有记录吗?我如何找到更多关于它的信息为什么我们必须使用inherit!:搜索路径
不幸的是,该链接已过时。是的,您的解决方案有效。如果您知道原因,请发表评论
target 'YourProduct' do
# Add Pods for your product here...
target 'YourProductTests' do
inherit! :search_paths
# Pods for product testing, if any
end
end