一 没有storyboard文件
1,调用main 函数
2 调用applicationmain 函数
3,创建application对象,appDelegate对象
4,设置application对象的代理为appDelegate
5,appdelegate对象监听系统时间,开启运行循环
6,程序启动完成调用application: didFinishLaunchingWithOptions:方法中创建:
1,创建uiwindow ,控制器, window 的跟控制器 ,windowkeyand visible。
二、 有storyboard文件
1.调用main函数。
2.调用UIApplicationMain
3.创建UIApplication对象 、 AppDelegate对象
4.设置UIApplicatio对象的代理是AppDelegate对象。
5.AppDelegate对象开始监听"系统事件(应用程序的事件)",进入"事件循环"
6.程序启动完毕后调用 application: didFinishLaunchingWithOptions:方法。
7.在application: didFinishLaunchingWithOptions:方法中创建:
* 系统自动创建UIWindow对象。
* 根据Info.plist文件配置(Main Interface),找到需要加载的storyboard文件(Main.storyboard)
* 找到Main.storyboard中的Is Initial View Controller 对应的控制器类, 创建该控制器对象。
* 根据storyboard中的配置, 创建控制器对应的view。
* 设置UIWindow的根控制器(rootViewController)为刚才创建的控制器。
* 显示UIWindow([self.window makeKeyAndVisible])。