【iOS学习笔记】iOS启动顺序

一.UIApplicationMain的执行步骤
1.创建一个UIApplication对象,一个程序对应一个UIApplication对象(单例),UIApplication对象是程序的象征
2.接下来会根据第4个参数创建一个UIApplication的delegate对象
3.开启一个消息循环(不断地监听地一些系统事件)
4.监听到相应的事件后,就会给代理发送相应的消息
* 当程序启动完毕,就会发送application:didFinishLaunchingWithOptions:消息
*当程序进入后台,就会发送applicationDidEnterBackground:消息
....

二.UIApplication
1.设置图标数字
app.applicationIconBadgeNumber =10;

2.设置显示联网状态
app.networkActivityIndicatorVisible = YES;

3.打开一个URL (打电话,打开网址,发短信,发邮件)
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
[app openURL:url];

4.隐藏状态栏

application.statusBarHidden = NO;

三.常见文件
1.*-Info.plist 文件
1>项目中最主要的文件,描述了软件名称.软件版本,软件唯一标识
2>常见设置
*软件名称 --Bundle display name -- CFBundleDisplayName
*软件版本号 -- Bundle Version === CFBunleVersion
*软件的唯一标识-- Bundle identifier -- CFBundleIdentifier
1.0

2.*-Prefix.pch
1> 该文件中的内容会被项目中其他所有文件所共享

2>用来存全局性的一些宏定义,#import语句

3>控件日志输出

/*

如果软件处于调试状态,系统会默认定义一个叫做DEBUG的宏;

如果软件处于发布打包状态,系统就不会定义DEBUG这个宏

*/

#ifdef DEBUG

//调试状态:将MJLog替换成NSLog

#define MJLog(...) NSLog(__VA_ARGS__)

#else

//发布状态:将MJLog替换成空

#define MJLog(...) //fsdfsdfdsfds

#endif

 3.    Default.png 320 X 480

1>程序在启动过程中会全屏显示叫做Default.png 的图片

2>可以有多个版本

Default.png 320 X 480   

Default@2x.png 640 X 960

Default-568h@2x.png 640 X 1136

4.Icon.png

1>软件图标

2>苹果官方文档搜索"app icon" --> App Icons On iPad and Iphone

四程序的完整启动过程(控件器的View的显示过程)

1.点击程序图标

2.执行main函数

3.执行UIApplicationMain函数

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

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

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

1>创建窗口对象

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

2>创建控件器对象

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

3> 设置窗口的根控件器

self.window.rootViewController = self.viewController;

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

[self.window makeKeyAndVisible];

UIApplicationAppDelegateUIWindowUIViewController

 

 

6.自定义容器

1.加载ViewController.xib文件

2.创建Objects下面的所有对象

UIView *myview = [[UIView alloc]init];

myView.backgroundColor=[UIColor dfsfd];

myview.frame = CGRectMake(0,20,320,460);

....

UIButton *btn ...

[myview addSubview:btn];

3.传入ViewController对象作为xib文件的owner

vc.view = myview;

原文地址:https://www.cnblogs.com/pjl0426/p/5004804.html