iOS 程序启动完整过程

1.首先执行main函数

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

ios开发文档上对这个main函数是如下解释的。

This function is called in the main entry point to create the application object and the application delegate and set up the event cycle.

这个函数是创建application对象和application的delegate对象,设置事件循环的主要入口点。

第三个参数,是UIApplication类名或者是其子类名,如果是nil,则就默认使用UIApplication类名。

第四个参数是协议UIApplicationDelegate的实例化对象名,如果是nil,则从main nib文件中加载委托对象。这个对象就是UIApplication对象监听到系统变化的时候通知其执行的相应方法。

2.创建UIApplication对象和UIApplication的delegate对象,开启事件循环(appdelegate开始处理响应事件)

3.创建UIWindow对象,设置为appdelegate的window属性

4.根据info.plist加载storyboard

5.将storyboard的箭头指向的控制器设置为UIWindow的rootViewController

6.展示界面

时间: 2024-10-24 04:56:33

iOS 程序启动完整过程的相关文章

【iOS开发】iOS程序启动的过程

①首先执行main函数 ②创建UIApplicationMain对象,创建UIApplication的delegate对象 没有storyboard的情况 ③程序启动完毕的时候, 就会调用代理的 application:didFinishLaunchingWithOptions:方法 在application:didFinishLaunchingWithOptions:中创建UIWindow 创建和设置UIWindow的rootViewController 显示窗口 有storyboard的情况

iOS程序的完整启动过程分析

1.点击程序图标,打开程序 2.执行main函数,分析如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 int main(int argc, char * argv[]) {     @autoreleasepool {         /*          argc: 系统或者用户传入的参数个数          argv: 系统或者用户传入的实际参数          */         // return UIApplic

iOS程序启动原理

程序启动原理 掌握 Info.plist和pch文件的作用 UIApplication的常见使用 AppDelegate的代理方法 UIApplication.AppDelegate.UIWindow.UIViewController的关系 iOS程序的完整启动过程 … Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创建的工程中,这个

iOS程序启动原理的理解

应用的生命周期(从启动到退出):当用户点击应用图标之后,应用就开始启动.应用启动完成后,就会展示一系列的视图,和用户进行各种各样的交互(如滑动.点击).当用户退出应用后,该应用就无法和用户进行交互.这一过程就是应用的生命周期体现. 在介绍应用启动过程及原理之前,先来了解一些概念以及其作用. 1.UIApplication UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序.每一个应用都有自己的UIApplication对象,而且是单例的,如果试图

iOS 探索:iOS程序的Build过程

注1:本文由破船译自  The Build Process . 注2: 1 2 3 4 5 6 7 8 9 10 本文将轻度解密Xcode build日志,还原iOS程序build的过程. 另外将介绍如何对build过程的控制,进而定制出自己希望的流程, 例如通过Build phase的定制,给app icon打水印(包括版本号和日期). 通过对工程文件的解读,为你揭开工程文件(.pbxproj)与 build settings的关系.这对于解决工程文件的merge冲突非常有帮助. PS:实际上

iOS程序启动的完整过程

1.main函数 2.UIApplicationMain* 创建UIApplication对象* 创建UIApplication的delegate对象 3.delegate对象开始处理(监听)系统事件(没有storyboard)* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法* 在application:didFinishLaunchingWithOptions:中创建UIWindow* 创建和设置UIWindow的

深入理解UIApplication和ios程序启动过程

在深入理解UIApplication前我们先了解ios程序的启动过程: UIApplication类在ios里面为app的管理和协调提供一个集中的点,每一个app有一个UIApplication的实例,当app启动时,系统会调用main函数里面的UIApplicationMain函数,该函数会创建一个UIApplication的实例,设置run loop,启动info.plist里面指定的main.storyboard,加载UIview.

iOS程序 # 启动过程

[ App 应用 ] 中文名:缺省 外文名:default 拼音:quē shěng 释义:系统默认状态 全称:缺省状态 -------------- 1.程序启动顺序 1> main.m程序入口: 2>main函数中UIApplicationMain(),创建app对象.并指定此app代理:检测程序的执行.同时开启“事件循环??”:处理程序接收到的事件: 3>UIApplicationDelegate 方法执行: 4>加载window: 5>指定根视图控制器 (root V

iOS程序启动原理是什么

当刚开始学习ios开发的时候,我们学会做的第一件事就是创建一个新的项目.每次我都会好奇,为什么我们选择创建一个Single View Application项目的时候,什么代码都不用敲就可以在模拟器上运行程序了.要解答这个问题需要明白一点程序的启动原理,看完之后你就会明白. 首先,建立一个Single View Application项目以方便我们的研究.可以明确的是,不论是C语言还是Objiective-C语言程序,程序运行的入口都是main函数.所以我们从main函数开始入手. 创建新项目