ios - 向 Xcode 添加了单元测试目标 - 导入桥接 header 失败不会消失

标签 ios swift xcode unit-testing bridging-header

我向我的 Xcode 项目添加了一个新的测试目标。我的项目有 Swift 代码和 Objective-C 代码,还有一个桥接头。在将桥接 header 添加到 UnitTesting 的build设置或执行 import MyTarget 后,我收到错误:

failed to import bridging header

我试过:

  • 将桥接 header 添加到项目、单元测试和主要目标的build设置。
  • defines modules 更改为 Yes
  • 将桥接头文件移动到根文件夹。

我还尝试制作了一个示例项目,该项目构建并运行良好。在这一点上,将我拥有的一切都转移到一个干净的新项目中不是一个选择。

最佳答案

如果你使用CocoaPods作为包管理器,必须设置搜索路径等。给一个简单的方法,

尝试将此添加到您的 Podfile 中:

target 'YourProductTests' do
    inherit! :search_paths
    # Pods for testing
end

pod安装

它对我有用。

如果上述解决方案对您不起作用,请尝试手动设置:

  1. 单击您的测试目标 -> build设置 -> 选项卡:全部和组合 -> Swift 编译器 - 代码生成 -> Objective-C 桥接 header :添加您的 xxx-bridging-header

  2. 勾选“Search Path”,根据Framework Search PathHeader Search PathsLibrary Search Path设置值你的主要目标。可能有些搜索路径在这里丢失了,手动重新添加。

关于ios - 向 Xcode 添加了单元测试目标 - 导入桥接 header 失败不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28343493/

相关文章:

ios - 如何为 inputAccessoryView 设置动画

ios - Apple 文档示例代码中的 __block 是什么意思?

ios - 如何将渐变应用于多个自定义 View ?

Swift - 强制派生类实现静态方法

ios - 对于许多开发人员使用相同的 "Bundle ID"

ios - 使用分页向 UIScrollView 水平添加图像

ios - 在生产环境中使用 Realm Collection Change 通知

ios - 结构检查类型| swift

ios - 通过 Twitter 登录时获取用户的 MailID

ios - 自定义 UITextField 类仅适用于第一个文本字段