国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS10 遠程推送適配詳細介紹

2019-10-21 18:49:30
字體:
來源:轉載
供稿:網友

IOS10 遠程推送適配

iOS10推送新增了UserNotifications Framework,使用起來其實很簡單。

建議看看極光推送的Demo,里面寫的更詳細。

只是在iOS10以上系統上點擊通知欄,回調方法不再走原來的這兩個方法

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {}

而是在前臺的時候回調

- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler

從后臺進入的時候回調

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler

直接說怎么用吧:

1,導入頭文件

#ifdef NSFoundationVersionNumber_iOS_9_x_Max#import <UserNotifications/UserNotifications.h>#endif

2,注冊通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中

if (iOS10) {  UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];  center.delegate = self;  [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) {   if (!error) {    NSLog(@"succeeded!");   }  }]; } else if (iOS8_9){//iOS8-iOS9  UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil];  [application registerUserNotificationSettings:settings];  [application registerForRemoteNotifications]; } else {//iOS8以下  [application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound]; }

3,回調方法中,獲取通知數據

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { NSDictionary *userInfo = response.notification.request.content.userInfo;   //消息處理 if([request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {  //判斷為遠程推送 }else {  // 判斷為本地通知  }}

4,對于本地通知沒有什么變化依然會回調

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 综艺| 浏阳市| 青海省| 南木林县| 上林县| 章丘市| 东台市| 邻水| 阿合奇县| 武汉市| 五峰| 芷江| 清涧县| 白山市| 尖扎县| 荔波县| 钟山县| 全州县| 比如县| 靖安县| 读书| 莱州市| 息烽县| 土默特左旗| 忻州市| 偃师市| 内江市| 南郑县| 西贡区| 塔城市| 温泉县| 天长市| 盱眙县| 防城港市| 武陟县| 昌吉市| 齐齐哈尔市| 辽中县| 前郭尔| 广安市| 桑植县|