不少工做一段時間的iOS程序員,老是天天沉浸在代碼裏,你們老是按照xcode的規定生成項目,而後就開始碼代碼了,可是你們知道app背後的啓動過程嗎?當點擊程序圖標啓動程序開始到退出,程序在運行過程當中到底執行了哪些代碼?只有理解了這個才能遊刃有餘的掌握iPhone程序的開發。 程序員
程序啓動的完整過程xcode
1.main函數app
2.UIApplicationMain.建立UIApplication對象函數
3.建立UIApplication的delegate對象代理
(沒有storyboard)code
4.delegate對象開始處理(監聽)系統事件對象
* 程序啓動完畢的時候, 就會調用代理的application:didFinishLaunchingWithOptions:方法blog
* 在application:didFinishLaunchingWithOptions:中建立UIWindow事件
* 建立和設置UIWindow的rootViewController開發
* 顯示窗口
(有storyboard)
4.根據Info.plist得到最主要storyboard的文件名,加載最主要的storyboard
* 建立UIWindow
* 建立和設置UIWindow的rootViewController
* 顯示窗口