几个方法
application:didFinishLaunchingWithOptions:
applicationWillResignActive:
applicationDidBecomeActive:
applicationWillEnterBackground:
applicationWillEnterForeground:
applicationDidReceiveMemoryWarning:
1application:didFinishLaunchingWithOptions
UIApplication 被实例化后第一个触发的协议方法。这货主要的任务,就是创建一个 UIWindow,在这货上面显示控制器的视图;
一般在这个方法里面引入根视图,初始化一些第三方平台的库;
一个参数launchOptions是个字典,一般在通知的时候会把通知的参数通过这个字典传过来,一般在本地推送和远程推送用到。
2 openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
这个主要是在同过外界程序打开app时,会执行这个方法;
例如app A里面的按钮点击打开手机上面的app B 并传给参数
利用上面的这个方法,appurlxib是app B里面URL Types ,1111就是想要传的参数,格式为URL Types://参数,当然参数可以省掉,URL Types:// 就行
接收参数如右图:
当然从此也可以看出 URL Types的作用 就是这个app的类似外部访问的网址,微信的分享的进入微信和退回应用,用的都是这个道理;
3applicationWillResignActive:
应用从 Active 变为 Inactive 时,触发该协议方法,一般在将要退到后台执行,比如有电话打来时;
resign 为辞职,active 形象说明现在还处于活跃阶段,但是马上要离开
4applicationDidBecomeActive
应用从 Inactive 变为 Active 时,触发该协议方法。
已经处于活跃状态,在后台到前台,页面已经呈现时执行;
5applicationdidEnterBackground:
应用切换至到后台时,触发该协议方法。
应该执行上面的willresign active 然后马上执行这个
6applicationWillEnterForeground:
应用切换至前台时,触发该协议方法。
先执行这个,然后再执行DidBecomeActive
7applicationDidReceiveMemoryWarning:
设备内存不足时,会触发该协议方法;程序退到后台是不执行的,程序正常退出也不执行;只有在内存危机时,苹果为啦保护手机,将kill掉应用
8如果想主动获取 AppDelegate 怎么办?
[[UIApplication sharedApplication] delegate]
9 didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
这个是用于极光推送的注册,deviceToken为手机的唯一标示符
10 didReceiveLocalNotification:(UILocalNotification *)notification 这是本地通知点击进入执行的方法