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

Agg*_*sor 6 xcode unit-testing objective-c travis-ci swift

我的Xcode项目构建并正常工作.它有Swift和Objective-C代码.

它已安装GPUImage.

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

找不到'GPUImage.h'文件

无法导入桥接头

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

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

  2. 确保我的构建阶段匹配:没有工作

  3. 扩展标题搜索路径:没有工作 /sf/answers/2093201211/

这个问题似乎有同样的问题: 将单元测试目标添加到xcode - 未能导入桥接头不会消失

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

小智 1

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

要将其本地安装在您的计算机上,您可以使用自制程序。

update brew
brew install xctool
Run Code Online (Sandbox Code Playgroud)

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

xctool test -workspace MyExampleProject.xcworkspace -scheme MyExampleTests -sdk iphonesimulator
Run Code Online (Sandbox Code Playgroud)

要在 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
Run Code Online (Sandbox Code Playgroud)