iOS程序启动原理

作者: ryugaku | 来源:发表于2016-02-23 20:39 被阅读576次

iOS程序启动原理

参考文章:
iOS アプリの構造がどのようになっているか紐解いてみる
Revisiting the App Launch Sequence on iOS

启动过程

1.执行 main 函数,调用 main 函数里的 UIApplicationMain 函数。

2.UIApplicationMain 函数:
2.1 创建 UIApplication 对象;
2.2 创建UIApplication对象的代理AppDelegate;(遵循UIApplicationDelegate协议)
2.3 加载 Info.plist 文件;

3.UIApplication 对象开启事件循环。

4.UIApplication 读取 Stroyboard(已经加载的Info.plist文件里的Main storyboard file base name项对应的Stroyboard)。
如果没有Stroyboard,则直接跳至7。然后在对应方法中写下面的过程。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 创建窗口
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    // 成为主窗口并可见
    [self.window makeKeyAndVisible];
    
    // 设置根视图控制器
    
    return YES;
}

5.生成 ViewController(上一步Stroyboard里,白色箭头所指的控制器对象)。

6.AppDelegate 生成 UIWindow(并且设置根视图控制器为上一步的ViewController)。

7.调用 application:didFinishLaunchingWithOptions: 方法.

流程图

アプリ起動の流れ
App Launch Sequence as of Xcode 4.2 (without Storyboarding)

相关文章

  • iOS程序执行顺序和UIViewController 的生命周期

    一. iOS程序的启动执行顺序 ** 程序启动顺序图 ** iOS启动原理图.png ** 具体执行流程 ** 程...

  • iOS启动原理(一)

    iOS启动原理(一) iOS启动原理(一)

  • 深入理解iOS App的启动过程

    前言 参考资料:深入理解iOS App的启动过程iOS 应用程序启动过程及原理总结iOS:App启动过程详解(不同...

  • iOS程序启动原理(下)

    接上篇 iOS程序启动原理(上) 下图是一个iOS程序启动的完整过程 main函数中执行了一个UIApplicat...

  • iOS App启动原理解析和启动布局

    一 、IOS开发APP启动原理 main()函数是整个程序的入口,在程序启动之前,系统会调用exec()函数。在U...

  • iOS程序启动原理

    一.首先找到程序入口,执行main函数 main -> UIApplicationMain 二.UIApplica...

  • iOS程序启动原理

    Info.plist的常用属性 常见属性 本地化相关 程序安装后显示的名称 限制在10-12个字符,如果超出,将被...

  • iOS 程序启动原理

    大家好,嘿,收集一些笔记,记录一下自己学习的过程,加深一下印象,资源来自互联网加上自己的一些理解,如果侵犯原作者的...

  • iOS程序启动原理

    一个程序从main函数开始启动。 可以看到main函数会调用UIApplicationMain函数,它的四个参数的...

  • iOS程序启动原理

    iOS程序启动原理 参考文章:iOS アプリの構造がどのようになっているか紐解いてみるRevisiting the...

网友评论

    本文标题:iOS程序启动原理

    本文链接:https://www.haomeiwen.com/subject/utzbkttx.html