后导致黑屏,我正在更新我的应用程序是与iOS 11.的XCode 9:在AppDelegate中设置RootViewController的启动应用程序
在我的应用程序兼容,我设置RootViewController的在我的AppDelegate didFinishLaunchingWithOptions这样的:
self.window.rootViewController = MainViewController()
self.window.makeKeyAndVisible()
在我MainViewController,我确定哪些VC应该是最初的视图控制器时如果没有令牌存在推出
- - >去LoginViewController
- 如果令牌仍然有效 - >去HomeViewController
这里是我的MainViewController的viewDidLoad中():
override func viewDidLoad() {
super.viewDidLoad()
// main tab bar controller
self.initTabBarMainController()
// login page
self.initLoginViewController()
// checking the session
let tokenExpired = SessionManager.sharedInstance.isTokenExpired()
if Utilities.isLoggedIn() && SessionManager.sharedInstance.getSessionToken() != nil && !tokenExpired
{
self.addChildViewController(self.mainTabViewController!)
self.view.addSubview((self.mainTabViewController?.view)!)
} else {
self.addChildViewController(self.loginViewController!)
self.view.addSubview((self.loginViewController?.view)!)
}
self.setupNotifications()
}
然而,在iOS的11,当我尝试运行此。它只启动应用程序并卡住黑屏。
注:
- 该应用程序并没有挂,电话没挂。看来,该应用程序不再加载视图。
- 它去了正确的ViewController的viewDidLoad()
- 我相信这是问题所在,因为当我尝试删除此代码并让应用程序在启动后进入其MainInterface时,没有任何问题。
对不起,我也试过,但它仍然没有解决问题。我将编辑问题以避免混淆 –
您是自己创建窗口还是通过故事板加载? +你能否提供整个'didFinishedLaunching'方法实现给我们更多的上下文? –
我编辑了我的问题以显示我的MainViewController的viewDidLoad。 didFinishedLaunching的相关代码仅仅是您提到的两行代码 –