因爲一直以來對於啓動一個IOS中間的流程有些懵懵懂懂的,所以專門抽時間詳細瞭解了下中間詳細的流程,並做成了一個流程圖,這裏分享出來給有興趣的人蔘考一下。
這裏的流程介紹是從點擊App的圖標開始一直到加載根控制器中間做的事情,大概分成了四個階段:
- Mach-O加載,這個階段操作系統會爲應用創建一個新的線程然後做一些準備工作。
- 通過動態鏈接器Dyld初始化運行環境,開啓緩存策略,加載程序相關依賴庫(包括二進制文件,流程圖中第一步中有提到一些),runtime也是在這裏被 初始化。
- 執行Main函數。
- 執行UIApplicationMain函數。
詳細步驟可以看流程圖。