尝试使用 Quick 在项目中 运行 测试时出现分段错误

Segmentation fault when trying to run tests in project using Quick

这是我的 LoginViewControllerSpec class 的样子:

class LoginViewControllerSpec: QuickSpec {

override func spec() {
    describe("LoginViewController") {
        var loginViewController: LoginViewController!

        beforeEach {
            loginViewController = LoginViewController()
        }
    }
}

当尝试 运行 这个特定的测试时,我收到错误提示

Command failed due to signal: Segmentation fault: 11

我发现这是由我的 LoginViewController 实现 BSKeyboardControlsDelegate 引起的,它是通过 CocoaPods 安装的 Objective-C 库。

所以我猜这是因为我的测试包无法访问 BSKeyboardControls。

这是我的 Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
inhibit_all_warnings!

pod 'BSKeyboardControls'

target 'SwitchboardTests' do
  use_frameworks!
  pod 'Quick'
  pod 'Nimble'
end

我已经尝试使用我的测试包将 link_with 添加到 link BSKeyboardControls,但它不起作用。

如果我应该如何配置我的项目,以及我的 Podfile 应该是什么样子,我将不胜感激。

我发布了一个答案以防其他人遇到类似问题。

解决方案是将 use_frameworks! 移出目标范围。所以现在我也在为 Objective-C pods 使用框架。这样做你不再需要在桥接头文件中导入你的 Objective-C 库,你只需像这样导入它们: import BSKeyboardControls