方法介紹:
一、
方法名:- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
參數(shù)說明:application當(dāng)前應(yīng)用程序。? ? userInfo遠(yuǎn)程推送的消息內(nèi)容集合
調(diào)用說明:APP處于前臺(tái)時(shí)候,遠(yuǎn)程消息到達(dá),會(huì)調(diào)用該方法。
APP處于后臺(tái)時(shí),點(diǎn)擊系統(tǒng)的消息提示框進(jìn)入APP,會(huì)觸發(fā)此函數(shù)。
APP處于被殺死狀態(tài)時(shí)候,點(diǎn)擊系統(tǒng)的消息提示框或者APP圖標(biāo)進(jìn)入APP,系統(tǒng)會(huì)將遠(yuǎn)程消息的內(nèi)容集成到- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions函數(shù)的launchOptions中。
函數(shù)總結(jié):該函數(shù)會(huì)接受遠(yuǎn)程消息推送,并且在IOS10以后被作廢。
二、
方法名:- (void)application:(UIApplication*)applicationdidReceiveLocalNotification:(UILocalNotification*)notification;
參數(shù)說明:application當(dāng)前應(yīng)用程序。? ? notification本地通知的消息內(nèi)容集合
調(diào)用說明:APP處于前臺(tái)時(shí)候,本地通知觸發(fā),會(huì)調(diào)用該方法。
APP處于后臺(tái)或者被殺死的時(shí)候,系統(tǒng)會(huì)彈出提示框,點(diǎn)擊系統(tǒng)的消息提示框或者APP圖標(biāo)進(jìn)入APP,系統(tǒng)會(huì)將本地通知的內(nèi)容集成到- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions函數(shù)的launchOptions中。
函數(shù)總結(jié):該函數(shù)會(huì)接受本地通知,并且在IOS10以后被作廢。
三、
方法名:- (void)application:(UIApplication*)applicationdidReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResultresult))completionHandler;
參數(shù)說明:application當(dāng)前應(yīng)用程序。? ? userInfo遠(yuǎn)程推送的消息內(nèi)容集合。? ? completionHandler告訴系統(tǒng)我已處理完自己的事件。
調(diào)用說明:APP處于前臺(tái)時(shí)候,遠(yuǎn)程消息到達(dá),會(huì)調(diào)用該方法。
APP處于后臺(tái)或者被殺死的狀態(tài)下會(huì)走這么一個(gè)流程圖:
函數(shù)總結(jié):APP處于前臺(tái)后臺(tái)或者被殺死,遠(yuǎn)程消息到達(dá)后,該函數(shù)都會(huì)觸發(fā)。但是不同狀態(tài)下,該函數(shù)觸發(fā)的次數(shù)不同。
另外,如果該函數(shù)和- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo同時(shí)實(shí)現(xiàn)時(shí)候,該函數(shù)起作用,另一個(gè)被作廢。
四、
方法名:- (void)userNotificationCenter:(UNUserNotificationCenter*)center willPresentNotification:(UNNotification*)notification withCompletionHandler:(void(^)(UNNotificationPresentationOptionsoptions))completionHandler;
參數(shù)說明:center通知中心。? ? notification遠(yuǎn)程或者本地通知的消息內(nèi)容集合。? ? completionHandler控制通知的顯示方式。
調(diào)用說明:APP處于前臺(tái)時(shí)候,遠(yuǎn)程或者本地通知觸發(fā),會(huì)調(diào)用該方法。
五、
方法名:- (void)userNotificationCenter:(UNUserNotificationCenter*)center didReceiveNotificationResponse:(UNNotificationResponse*)response withCompletionHandler:(void(^)(void))completionHandler;
參數(shù)說明:center通知中心。? ? response遠(yuǎn)程或者本地通知的消息內(nèi)容集合+用戶做出的選擇。? ? completionHandler根據(jù)用戶的操作做出APP相應(yīng)的響應(yīng)后,通過此 回調(diào)告訴系統(tǒng),我已處理完用戶的響應(yīng)。
調(diào)用說明:APP處于后臺(tái)或者被殺死的時(shí)候,遠(yuǎn)程或者本地通知觸發(fā),會(huì)調(diào)用該方法。