最近一直在搞JSPatch,总是感觉记性没有以前好了,之前总结的那么多的技术现在都记得模模糊糊了,哎,看来我是老了,确实有点后悔当初没有写博客.简书的习惯,为了防止这种事情再次发生,我还是记录下来吧,文笔太差,大家不懂的可以pull me .
今天就先记录一下iOS10新的通知框架的使用吧,废话不多说了,上代码:
1.本地推送
首先导入框架
#import <UserNotifications/UserNotifications>
配置信息
通知配置iOS10以后通知的配置要在通知中心处理,UNNotificationAction主要是用来设置通知接收的行为选项我们现在设置的后台,这里的ID表示action的唯一标示,下面会用到,这就意味着以后我们可以写多个action来定义更丰富的通知行为.UNNotificationCategory是标示通知类别的类,我们可以通过此类的ID创建多个通知类到通知中心去注册. 通知中心的请求验证和之前我们用的setting功能类似,用来设置通知包的声音和提示等,然后就是注册通知了.
接下来我们看如何配置本地的推送
本地推送的配置按照我原来的理解,这里要用UNNotificationContent这个类,但是我发现这个类的属性几乎都是只读,明显不行,那么我们就用他的子类UNMutableNotificationContent来实现对本地推送内容的设置,
如果按照系统提示的的配置我们要用UNNotificationTrigger来实现本地推送的触发机制,但是这个类也不是我们希望用的,然后我发现用他的子类UNTimeIntervalNotificationTrigger 就可以完美解决了,下面就是设置通知的请求,这里的id也是请求类的唯一标示,最后我们添加一个就可以了.
好了现在我们把本的推送已经完成了,很简单, 接下来我们继续设置远程的推送.
2.远程推送,
基本的通知配置是一样的,我们不需要重写了,这里只强调代理方法中的区别
目前的代理方法在iOS10 中接到推送通知和进入推送通知的方法已经改变,我们只需要在这里根据极光或其他的SDK接口进行配置就可以了,具体的方法可看他们的官方文档.
如果想进行测试,我用的是PushMeBaby,点击可下载,使用很简单 但是要注意deviceToken开发和发布的不一致,注意不要写错.
好了,就这样吧,描述的可能不是很清楚,如果有人需要demo我会传到github上,不过应该没人需要把,那么简单.
网友评论