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 UIApplicationMain(argc, argv, nil, NSStringFromClass([NJAppDelegate class]));

        

        // return UIApplicationMain(argc, argv, @"UIApplication", NSStringFromClass([BLAppDelegate class]));

        

        /*

         1.根据传入的第三个参数创建UIApplication对象

         2.根据传入的第四个产生创建UIApplication对象的代理

         3.设置刚刚创建出来的代理对象为UIApplication的代理

         4.开启一个事件循环

         */

         return
<span style="color: rgb(255, 0, 0);">UIApplicationMain</span>(argc, argv, @"UIApplication", @"BLAppDelegate");  //3 、4 步骤

    }

}

3.执行UIApplicationMain函数

4.创建UIApplication对象、UIApplication的delegate对象

5.开启事件循环监听系统事件

6.程序加载完毕后调用delegate对象的application:didFinishLaunchingWithOptions:方法

1> 创建窗口对象

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen
mainScreen] bounds]];

2> 创建控制器对象

self.viewController = [[BLViewController alloc]
initWithNibName:@"BLViewController" bundle:nil];

3> 设置窗口的根控制器

self.window.rootViewController =
self.viewController;

4> 让窗口成为主窗口、并且可见

[self.window makeKeyAndVisible];

iOS程序的完整启动过程分析,布布扣,bubuko.com

时间: 2024-12-21 00:04:33

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

iOS程序的完整启动过程(有storyboard)

1.先执行main函数,main内部会调用UIApplicationMain函数 2.UIApplicationMain函数里面做了什么事情:1> 创建UIApplication对象 2> 创建UIApplication的delegate对象-----AppDelegate 3> 开启一个消息循环 * 每监听到对应的系统事件时,就会通知AppDelegate 4> 为应用程序创建一个UIWindow对象(继承自UIView),设置为AppDelegate的window属性 5>

iOS程序两中启动图方式和一些坑LaunchImage 和 Assets.xcassets(Images.xcassets)

一.通过LaunchScreen.storyboard 作启动图 1>在LaunchScreen.storyboard中拖拽一个imageView放上启动图片 注意:记得勾选右边的 User as Launch Screen 2>在工程中-->General-->App Icons and Launch Images 选项下 -->Launch Screen File 文件选择LaunchScreen.storyboard 二.通过Assets.xcassets设置Launc

iOS程序启动原理

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

UI第一课,iOS程序的生命周期

一个iOS程序,从启动到显示页面,经过了一系列的事件,而这些事件有 1.didFinishLaunching   完成加载 2.applicationDidBecomeActive    变成活跃状态 3.applicationWillResignActive    关闭活跃状态 4.applicationDidEnterBackground    退到后台 5.applicationWillEnterForeground    进到前台 6.applicationWillTerminate  

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

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

iOS开发-xCode6(iOS 8)中应用程序图标和启动页面设置

iOS8中设置应用程序图标跟之前没有什么变化,命名规则不变,不过至于设置启动页面,网上给的方式很多都是模棱两可的,东平西凑总算是把启动页面的图片设置成功了,iOS设置启动图片有两种方式一种是Launch Screen.xib,第二种是通过Images.xcassets,关于第一种方式是为了支持iOS8,不支持iOS7,因此本文使用第二种方式设置启动图片,说多了,进入正题吧. 基本概念 应用程序的图标是非常好设置的,按照苹果官方给出的规则,App Icon和Lanuch Image有一些约定俗称的

UIViewController 的生命周期 &amp; iOS程序的启动顺序

当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1. alloc                                   创建对象,分配空间 2.init (initWithNibName) 初始化对象,初始化数据 3.loadView                          从nib载入视图 ,通常这一步不需要去干涉.除非你没有使用xib文件创建视图 4.viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其

IOS程序启动引导示例

摘要 本章简述了IOS开发过程中程序第一次启动时的程序引导的示例,主要用到了UIScrollView作引导界面,使用NSUserDefaults相关键值判断程序是否第一次启动. 主要技术 判断是否第一次启动 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization

ios的完整启动流程

ios启动可以加载流程图: 1.先执行main函数,main内部会调用UIApplicationMain函数 2.UIApplicationMain函数里面做了什么事情: 1> 创建UIApplication对象 2> 创建UIApplication的delegate对象—–MJAppDelegate 3> 开启一个消息循环 每监听到对应的系统事件时,就会通知MJAppDelegate 4> 为应用程序创建一个UIWindow对象(继承自UIView),设置为MJAppDelega