UIApplication
1.概念:UIApplication 对象时应用程序的象征
1>每一个应用都有自己的UIApplication对象,它是单例模式的,通过[UIApplicationsharedApplication]创建
2>iOS程序启动后创建的第一个对象就是UIApplication,利用它能进行一些应用级别的操作
2.常用方法
1>获得系统版本:通常定义成宏使用 #define IOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >=8.0)
2>系统消息提醒:IOS8以后
UIApplication *app = [UIApplicationsharedApplication];
if (IOS8)
{
UIUserNotificationSettings *set = [UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeBadgecategories:nil];
[app registerUserNotificationSettings:set];
}
app.applicationIconBadgeNumber =10;
3>状态栏隐藏,样式(样式可以设置动画):
IOS7以后默认交给ViewController管理,需要在info.plist里设置View controller-based status bar appearance 为NO
然后UIApplication才能控制
4> 设置联网可见性
app.networkActivityIndicatorVisible =YES;
5>openURL:方法
Ø打电话
UIApplication *app = [UIApplicationsharedApplication];
[app openURL:[NSURL URLWithString:@"tel://10086"]];
Ø发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]];
Ø发邮件
[app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];
Ø打开一个网页资源
[app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];
Ø打开其他app程序
一:ios程序启动原理
1.执行main函数
2.创建UIApplicationMain
1>创建UIApplication
2>创建AppDelegate
3>设置UIApplication的对象代理为AppDelegate
4>delegate对象开始处理(监听)系统事件,开启主运行循环,保证程序一直处于运行状态不会关闭
5>加载info.plist文件判断是否去加载Main.storyboard
主函数:
int main(int argc,char * argv[])
{
@autoreleasepool
{
returnUIApplicationMain(argc, argv,nil, NSStringFromClass([AppDelegateclass]));
}
}
图。。。。