寫APP一段時間之後,就會發現「流程」非常重要,倘若在學期初期非常清楚整個流程,在開發上想必能順利許多!之前已介紹視圖的生命週期 (View Life Cycle),現在來看看在它之前的APP啟動順序 (App Launch Sequence)。
這位作者很用心地將APP啟動順序圖解,他說Xcode 4.2之後啟動順序有稍微變動,看到他這張淺顯易懂的圖示,無論是誰都將豁然開朗!
APP啟動順序是這樣子:
- main()呼叫UIApplicationMain()
- UIApplicationMain()創造UIApplication
- UIApplicationMain()創造AppDelegate
- UIApplicationMain()載入Info.plist
- UIApplication創造並管理RunLoop
- UIApplication傳送給application:didFinishLaunchingWithOptions:
- application:didFinishLaunchingWithOptions:創造並顯示Application Window
- Application Window交給Root View Controller
接下來的故事就可以參考我的這篇文章:視圖的生命週期 (View Life Cycle)。
Comments on: "[iOS] APP啟動順序 (App Launch Sequence)" (1)
[…] 根據 App 運作的原理, 必須在 AppDelegate.swift 規劃 B 項的相關程式碼, 它才能在整個 iOS App 的生命週期都生效, 可以持續偵測到用戶現況. 否則, 若是寫在某一個 ViewController 裡,不管是在登入或歡迎頁面,當它被切掉, 確認到有沒有用戶在的這個動作就會斷掉, 因此,就不知道要開哪一個頁面了. […]
讚讚