Xcode 6.4 Swift 单元测试无法编译:“GPUImage.h 未找到”“导入桥接头失败”

Posted

技术标签:

【中文标题】Xcode 6.4 Swift 单元测试无法编译:“GPUImage.h 未找到”“导入桥接头失败”【英文标题】:Xcode 6.4 Swift Unit Test Won't Compile: "GPUImage.h not found" "failed to import bridging header" 【发布时间】:2015-08-21 22:14:57 【问题描述】:

我的 Xcode 项目构建并运行良好。它有 Swift 和 Objective-C 代码。

它已安装 GPUImage。

我添加了一个单元测试,现在它不再编译:

'GPUImage.h' 文件未找到

导入桥接头失败

以下是我找到并尝试过的解决方法:

    设置产品模块名称以匹配我的项目: 不起作用 http://codesheriff.blogspot.co.il/2015/05/importing-swift-code-from-objective-c.html

    确保我的构建阶段匹配没用

    扩展标题搜索路径没用 https://***.com/a/29902874/3324388

这个问题似乎有同样的问题: added unit testing target to xcode - failed to import bridging header won't go away

如果您知道为什么 XCode 找不到我的 BridgingHeader.h 或 GPUImage.h,请分享。我正在尝试使用 Travis CI 进行单元测试,但无法通过编译步骤。

【问题讨论】:

【参考方案1】:

Xcodebuild 不能正确支持测试目标和应用程序测试。我会尝试xctool,它是xcodebuild 的一个很好的替代品,并且可以更轻松地测试ios 和OSX 应用程序。 Travis CI 预装了它。

要在您的机器上本地安装它,您可以使用自制软件。

update brew
brew install xctool

您可以使用以下命令来构建您的代码。其结构与xcodebuild相同。

xctool test -workspace MyExampleProject.xcworkspace -scheme MyExampleTests -sdk iphonesimulator

要在 Travis CI 上运行它,请将以下代码添加到您的 .travis.yml

language: objective-c
script:
  - xctool -workspace MyExampleProject.xcworkspace -scheme MyExampleProject -sdk iphonesimulator
  - xctool test -workspace MyExampleProject.xcworkspace -scheme MyExampleProjectTests -sdk iphonesimulator

【讨论】:

以上是关于Xcode 6.4 Swift 单元测试无法编译:“GPUImage.h 未找到”“导入桥接头失败”的主要内容,如果未能解决你的问题,请参考以下文章

更新到 Xcode 7.1(从 6.4)导致 UIIMageView 动画损坏

Swift、访问修饰符和单元测试

swift Xcode单元测试:无法将“Person”类型的值转换为预期的参数类型“Person”

在 Xcode ui 测试 Swift 中查找表格单元格

Swift 无法从 parse.com 检索图像

如何将 Xcode 6.1.1 Swift 代码转换为 Xcode 6.4 Swift 代码?