从网上看了iOS APP启动流程,这里简单记录下。
1.执行main()函数。
2.main()函数调用UIApplicationMain()
3.UIApplicationMain()创建UIApplication对象、UIApplicationDelegate对象,读取info.plist配置文件,设置程序启动的一些属性,创建Main RunLoop,用户与app所有交互都被一个一个传到Main RunLoop进行处理。
4.如果是通过Storyboard或xib启动app,则开始加载UI
5.UIApplicationDelegate开始处理监听事件:
(1)app第一次初始化完成:
application:willFinishLaunchingWithOptions:
(2)调用APPDelegate一些其他方法进行状态恢复
(3)都初始化完:application:didFinishLaunchingWithOptions:
,这时如果不是Storyboard或xib启动,就创建UIwindow和rootViewcontroller。