全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

IOS10 远程推送适配详细介绍

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# IOS10  # 远程推送适配  # 远程推送适配详解  # 推送适配详细介绍  # iOS10 适配远程推送功能实现代码  # 更新了Xcode8 及 iOS10遇到的问题小结  # iOS10全新推送功能实现代码  # Xcode8以及iOS10适配等常见问题汇总(整理篇)  # iOS10开发和Xcode 8新特性及常见问题解析  # iOS10推送之基础知识(必看篇)  # IOS10 解决权限崩溃问题详解  # iOS10适配之权限Crash问题的完美解决方案  # 110.iOS10新特性适配教程XCode8新特性解析  # 解析iOS10中的极光推送消息的适配  # Xcode8、iOS10升级问题记录  # iOS10 推送最新特性研究  # 回调  # 没有什么  # 这两个  # 希望能  # 谢谢大家  # 在前  # 再走  # 其实很简单  # 头文件  # 只是在  # 新增了  # NSDictionary  # userInfo  # UNUserNotificationCenter  # completionHandler  # UIBackgroundFetchResult  # userNotificationCenter  # fetchCompletionHandler  # didReceiveNotificationResponse  # UNNotificationPresentationOptions 


相关文章: 武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  h5在线制作网站电脑版下载,h5网页制作软件?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何配置FTP站点权限与安全设置?  如何获取开源自助建站系统免费下载链接?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  如何通过虚拟主机空间快速建站?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  建站之星伪静态规则如何设置?  如何选择可靠的免备案建站服务器?  如何构建满足综合性能需求的优质建站方案?  javascript中的try catch异常捕获机制用法分析  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  移民网站制作流程,怎么看加拿大移民官网?  如何选择PHP开源工具快速搭建网站?  高端网站建设与定制开发一站式解决方案 中企动力  建站之星如何防范黑客攻击与数据泄露?  如何在Windows 2008云服务器安全搭建网站?  如何高效配置IIS服务器搭建网站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  建站之星代理费用多少?最新价格详情介绍  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站之星2.7模板:企业网站建设与h5定制设计专题  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  黑客如何通过漏洞一步步攻陷网站服务器?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  c# 在高并发场景下,委托和接口调用的性能对比  如何确保FTP站点访问权限与数据传输安全?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  建站之星如何保障用户数据免受黑客入侵?  建站之星官网登录失败?如何快速解决?  网站制作免费,什么网站能看正片电影?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  PHP 500报错的快速解决方法  高端云建站费用究竟需要多少预算?  如何在Ubuntu系统下快速搭建WordPress个人网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Android自定义listview布局实现上拉加载下拉刷新功能  广德云建站网站建设方案与建站流程优化指南  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。