IOS10 远程推送适配 iOS10推送新增了UserNotifications Framework,使用起来其实很简单。 建议看看极光推送的Demo,里面写的更详细。 只是在iOS10以上系统上点击通知栏,回调方法不再走原来的这两个方法 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {} - (void)application:(UIApplication *)application didReceiveRemoteNotific 在iOS 10中,Apple引入了UserNotifications Framework,对远程推送通知的处理方式进行了重大更新,以提供更丰富的用户体验和更多的自定义选项。在适配iOS 10的远程推送时,开发者需要理解以下几个关键点: 1. **UserNotifications Framework**: UserNotifications Framework是iOS 10引入的新框架,它取代了旧的本地通知和远程通知处理方式。这个框架允许开发者创建、管理和响应用户通知,包括通知请求、通知响应以及通知呈现的样式。 2. **新回调方法**: 在iOS 10之前,应用接收到远程推送通知时,会调用`application:didReceiveRemoteNotification:`或`application:didReceiveRemoteNotification:fetchCompletionHandler:`。但在iOS 10及以上版本,这些方法不再被调用。取而代之的是: - 前台接收通知时,系统会调用`userNotificationCenter:willPresentNotification:withCompletionHandler:`,你可以在这个回调中决定如何显示通知,比如静默显示、弹出横幅或无任何动作。 - 应用在后台或被杀死状态,用户点击通知进入应用时,会调用`userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:`。在这里,你可以处理用户与通知的交互,例如打开特定的视图控制器。 3. **注册通知**: iOS 10中注册通知的方式也发生了变化。使用`UNUserNotificationCenter`的`currentNotificationCenter`获取通知中心实例,然后设置代理并请求权限。示例代码如下: ```objc - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (@available(iOS 10.0, *)) { UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; center.delegate = self; [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) { if (!error) { NSLog(@"succeeded!"); } }]; } else { // iOS 8-9 的代码... } } ``` 4. **处理通知响应**: 通过实现`UNUserNotificationCenterDelegate`协议中的方法,可以获取通知的相关数据。例如,`userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:`方法可以用来处理用户对通知的点击操作,获取通知的响应对象,其中包含了通知的标识和用户所选的动作。 5. **自定义通知**: iOS 10引入了通知类别(UNNotificationCategory),允许开发者为通知定义自定义的操作,用户可以从通知中心选择这些操作来执行。同时,通知还可以包含富文本内容、附件以及声音等增强功能。 6. **通知服务扩展**: 在iOS 10中,开发者还可以创建通知服务扩展,用于在应用未运行时处理和修改通知的内容。这样,即使应用被杀死,也能对通知进行动态定制,比如添加图片或动态加载内容。 适配iOS 10的远程推送,开发者需要更新通知处理的代码,采用新的框架和回调方法,以确保能够正确接收、显示和处理通知。同时,利用新功能如自定义通知类别和通知服务扩展,可以提升应用的通知体验。在实际开发过程中,参考第三方库如极光推送的Demo,可以帮助理解这些概念并快速上手。
![](https://csdnimg.cn/release/download_crawler_static/14880962/bg1.jpg)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 5
- 资源: 1016
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0