Xcode 6.4 Swift单元测试不会编译:"未找到GPUImage.h" "未能导入桥接标题"

时间:2015-08-21 22:14:57

标签: objective-c xcode swift unit-testing travis-ci

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

已安装GPUImage。

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

  

' GPUImage.h'找不到文件

     

无法导入桥接标头

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

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

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

  3. 扩展标题搜索路径没有工作 https://stackoverflow.com/a/29902874/3324388

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

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

1 个答案:

答案 0 :(得分: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