後導致黑屏,我正在更新我的應用程序是與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的相關代碼僅僅是您提到的兩行代碼 –