1 简单说一下APP的启动过程,从main文件开始说起
有storyboard情况下:
1.main函数
2.UIApplicationMain
创建UIApplication对象
创建UIApplication的delegate对象
3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)
创建UIWindow
创建和设置UIWindow的rootViewController
显示窗口
没有storyboard情况下:
1.main函数
2.UIApplicationMain
创建UIApplication对象
创建UIApplication的delegate对象
3.delegate对象开始处理(监听)系统事件(没有storyboard)
程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法
在application:didFinishLaunchingWithOptions:中创建UIWindow
创建和设置UIWindow的rootViewController
显示窗口
2 把程序自己关掉和程序进入后台,远程推送的区别
关掉后不执行任何代码, 不能处理事件
应用程序进入后台状态不久后转入挂起状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。只有当用户再次运行此应用,应用才会从挂起状态唤醒,代码得以继续执行
3.或者进入后台时开启多任务状态,保留在内存中,这样就可以执行系统允许的动作
4.远程推送是由远程服务器上的程序发送到APNS,再由APNS把消息推送至设备上的程序,当应用程序收到推送的消息会自动调用特定的方法执行事先写好的代码
3 本地通知和远程推送通知对基本概念和用法?
本地通知和远程推送通知都可以向不在前台运行的应用发送消息,这种消息既可能是即将发生的事件,也可能是服务器的新数据.不管是本地通知还是远程通知,他们在程序界面的显示效果相同,都可能显示为一段警告信息或应用程序图标上的微章.
本地通知和远程推送通知的基本目的都是让应用程序能够通知用户某些事情, 而且不需要应用程序在前台运行.二者的区别在于本地通知由本应用负责调用,只能从当前设备上的iOS发出, 而远程通知由远程服务器上的程序发送到APNS,再由APNS把消息推送至设备上的程序
本地通知
(void)applicationUIApplication )application didReceiveLocalNotificationUILocalNotification )notification
{}
远程推送通知
暂无个人介绍