方法介绍:
一、
方法名:- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
参数说明:application当前应用程序。 userInfo远程推送的消息内容集合
调用说明:APP处于前台时候,远程消息到达,会调用该方法。
APP处于后台时,点击系统的消息提示框进入APP,会触发此函数。
APP处于被杀死状态时候,点击系统的消息提示框或者APP图标进入APP,系统会将远程消息的内容集成到- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions函数的launchOptions中。
函数总结:该函数会接受远程消息推送,并且在IOS10以后被作废。
二、
方法名:- (void)application:(UIApplication*)applicationdidReceiveLocalNotification:(UILocalNotification*)notification;
参数说明:application当前应用程序。 notification本地通知的消息内容集合
调用说明:APP处于前台时候,本地通知触发,会调用该方法。
APP处于后台或者被杀死的时候,系统会弹出提示框,点击系统的消息提示框或者APP图标进入APP,系统会将本地通知的内容集成到- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions函数的launchOptions中。
函数总结:该函数会接受本地通知,并且在IOS10以后被作废。
三、
方法名:- (void)application:(UIApplication*)applicationdidReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResultresult))completionHandler;
参数说明:application当前应用程序。 userInfo远程推送的消息内容集合。 completionHandler告诉系统我已处理完自己的事件。
调用说明:APP处于前台时候,远程消息到达,会调用该方法。
APP处于后台或者被杀死的状态下会走这么一个流程图:
函数总结:APP处于前台后台或者被杀死,远程消息到达后,该函数都会触发。但是不同状态下,该函数触发的次数不同。
另外,如果该函数和- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo同时实现时候,该函数起作用,另一个被作废。
四、
方法名:- (void)userNotificationCenter:(UNUserNotificationCenter*)center willPresentNotification:(UNNotification*)notification withCompletionHandler:(void(^)(UNNotificationPresentationOptionsoptions))completionHandler;
参数说明:center通知中心。 notification远程或者本地通知的消息内容集合。 completionHandler控制通知的显示方式。
调用说明:APP处于前台时候,远程或者本地通知触发,会调用该方法。
五、
方法名:- (void)userNotificationCenter:(UNUserNotificationCenter*)center didReceiveNotificationResponse:(UNNotificationResponse*)response withCompletionHandler:(void(^)(void))completionHandler;
参数说明:center通知中心。 response远程或者本地通知的消息内容集合+用户做出的选择。 completionHandler根据用户的操作做出APP相应的响应后,通过此 回调告诉系统,我已处理完用户的响应。
调用说明:APP处于后台或者被杀死的时候,远程或者本地通知触发,会调用该方法。