【发布时间】:2016-10-07 17:25:41
【问题描述】:
我正在尝试测试(使用 XCTest 框架)驻留在框架(动态库)内的视图控制器。我遇到了属性 UIApplication.sharedApplication().keyWindow 的问题,该属性为 nil。我有以下代码:
override func setUp() {
super.setUp()
let storyboard = UIStoryboard(name: STORYBOARD_NAME_REPORT,
bundle: BundleUtil.getCurrentBundle())
let chatViewController = storyboard.instantiateViewControllerWithIdentifier(VIEW_CONTROLLER_ID_TIP_CHAT) as UIViewController
let navigationController = UINavigationController()
let viewControllers = [chatViewController]
navigationController.viewControllers = viewControllers
// PROBLEM: The following causes a crash because keyWindow is nil.
UIApplication.sharedApplication().keyWindow!.rootViewController = chatViewController
// Force the view controller to be loaded.
// Source: https://www.natashatherobot.com/ios-testing-view-controllers-swift/
let _ = navigationController.view
let _ = chatViewController.view
}
任何想法如何使 keywindow 属性正确初始化?
【问题讨论】:
-
你找到答案了吗?
-
2018 仍然需要这个答案
标签: frameworks xctest