一.创建UNNotificationServiceExtension
![](https://img.haomeiwen.com/i5542265/462726b9a099b780.png)
![](https://img.haomeiwen.com/i5542265/209f2673be85b08d.png)
给 Extension 文件命名,并点击完成。生成Extension文件后,系统会自动生成三个文件
![](https://img.haomeiwen.com/i5542265/950868d405996579.png)
二.配置
这里是用xcode Automatic自动配置账号和AppID等(没有在开发者账号里手动创建),并且版本号要改为10.0.
真机测试时,手机系统版本号要大于Deployment Target版本号.
info.plist配置
![](https://img.haomeiwen.com/i5542265/8ac14eb89150643b.png)
三.极光推送配置
![](https://img.haomeiwen.com/i5542265/3d4bd9aa0f610886.png)
推送的 "aps"字典中,一定要包含 mutable-content 键,并且 mutable-content 的值为 1;
四.除此之外,还有特殊情况,比如 UNNotificationServiceExtension 的调试,因为该代码完全处于后台情况(不像UNNotificationContentExtension可以由通知界面打开触发),像上面那种方式调试还是不会走断点,这就需要Debug -> Attach to process by pID or name:
![](https://img.haomeiwen.com/i5542265/9b0feb8d6d4ef30e.jpeg)
![](https://img.haomeiwen.com/i5542265/4d5bfdac19beef6a.png)
这里PID名称就是自己创建的Extension名称.直接运行主程序,这个时候当推送过来时,断点就会过来了.
五.修改推送内容
![](https://img.haomeiwen.com/i5542265/c4be93283f2c8c3f.png)
在didReceiveNotificationRequest方法中修改推送内容.
网友评论