iOS程序启动原理和UIApplication
1.UIApplication简单介绍
(1)UIApplication对象是应用程序的象征,一个UI Application对象就代表一个应用程序;
(2)每个应用程序都有自己的UIApplication对象,而且是单例的;
(3)获得单例对象的方法【UIApplication shareApplication】;
(4)一个IOS程序启动后创建的第一个对象就是UIApplication对象,且只有一个;
(5)利用UI Application对象,能进行一些应用级别的操作。
2.应用级别的操作
(1)设置应用图标右上角的红色提醒数字;
app.applicationIconBadgeNumber = 123
(2)设置联网指示器的可见性
app.networkActivityIndicatorVisible = YES/NO
(3)管理状态栏
管理状态栏的两种方式:
1)通过UIViewController
状态栏的样式 - (UIStatusBarStyle)preferredStatusBarStyle;
状态栏的可见性 -(BOOL)prefersStatusBarHidden;
2)通过UI Application管理
注意:既然两种都可以对状态栏进行管理,那么什么时候该用什么呢?
如果状态栏的样式只设置一次,那就用UIApplication来进行管理;
如果状态栏是否隐藏,样式不一样那就用控制器进行管理。
UIApplication来进行管理有额外的好处,可以提供动画效果。
(4) openURL:方法
1)打电话 【app openURL【NSURLWithString:@“tel://10086”】】
2)发短信 [app openURL:[NSURLURLWithString:@"sms://10086"]];
3)发邮件 [app openURL:[NSURLURLWithString:@"mailto://12345@qq.com"]];
4)打开一个网页资源 [app openURL:[NSURLURLWithString:@"http://ios.itcast.cn"]];
5)打开其他app程序 openURL方法,可以打开其他APP
3.UIApplicationMain函数的参数分析
(1)argc系统或者用户传入的参数;
(2)argv系统或者用户传入的实际参数;
(3)principClassName:指定应用程序类名(app的象征),该类必须是UI Application(或子类),如果为nil,则用UIApplication作为默认值
(4)delegateClassName:指定应用程序的代理类