访问没有Window的PresentedViewController

我目前正在开发一个包含ViewController演示文稿的框架。 想要测试这个,我试过(使用Quick和Nimble):

 expect(nav.presentedViewController).to(beAnInstanceOf(TestVC.self)) 

在一个应用程序中,我可以创建一个UIWindow并将UINavigationController添加到此窗口(它需要设置为可见)。
在框架中,我得到:

 caught "NSInternalInconsistencyException", "props must have a valid clientID" 

任何想法如何测试没有窗口呈现正确的视图? (或如何解决此错误)

谢谢

您可以通过创建全局视图控制器来保留TopViewController的引用。

就像那样

 var rootViewController:UIViewController? class MyClass1 :UIViewController{ override func viewDidLoad() { rootViewController = self } } class MyClass2 :UIViewController{ override func viewDidLoad() { rootViewController = self } } 

每次rootViewController实例替换为最后一个UIViewController