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

时间:2015-05-20 23:57:23

标签: ios swift cocoapods

这是我的LoginViewControllerSpec类的样子:

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以将BSKeyboardControls链接到我的测试包但它无效。

我很欣赏一些建议,我应该如何配置我的项目,以及我的Podfile应该是什么样子。

1 个答案:

答案 0 :(得分:1)

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

解决方案是将import BSKeyboardControls移出目标范围。所以我现在也在使用Objective-C pods的框架。这样做你不再需要在桥接头中导入Objective-C库,你只需要像这样导入它们: <script> $(document).ready(function(){ $("#button1").click(function(){ $("#a").prepend('<img src="img.png">'); }); }); </script> <button id="button1">Image</button> <br> <p id="a"> </p>