前言
实现方案: JPush + iOS 10新特性
如果仅仅是为了实现推送这一功能,选择可能会有很多; 但是使用三方框架肯定是非常快捷方便的.本文以极光推送的集成为例.
若要实现简易图文推送,只需使用iOS10新特性服务扩展即可UNNotificationServiceExtension
;
但是如果仍需定义通知栏收到推送的显示内容以及样式,则需要通知内容扩展UNNotificationContentExtension
接下来三个段落主要由以上需求展开.
一: 集成极光推送
1.极光开发者服务控制台创建应用,完成创建操作可获得一个AppKey,此AppKey在后续代码集成时需要用到.
控制台操作可参考: 极光文档-控制台使用指南
2.制作证书(App证书,推送证书,证书相关配置文件)
以个人开发者账号为例. 首先,创建一个App所需的bundle id ;接着可视情况分别创建开发/发布证书; 再则申请相应的推送证书,并下载推送证书(极光推送服务控制台需要上传.p12推送证书文件); 最后根据App证书配置证书描述文件.
证书制作可参考: iOS 证书设置指南
注意: 极光推送分别支持开发和发布环境下,发收通知测试
3.上传推送证书至极光推送服务控制台 将第2步下载的aps证书(开发/发布),添加到钥匙串; 然后重新导出为.p12文件.接着上传推送证书生成的p12文件至极光推送服务控制台
注意:命名最好使用全英文,避免不必要的问题
4.代码集成,项目配置
(1)添加Framework
1 | 1. CFNetwork.framework |
(2)项目配置
Build Settings
1 | 如果你的工程需要支持小于7.0的iOS系统,请到Build Settings 关闭 bitCode 选项,否则将无法正常编译通过。 |
Capabilities
1 | 如使用Xcode8及以上环境开发,请开启Application Target的 |
(3)AppDelegate代码段
1 | // 引入JPush功能所需头文件 |
5.配置极光平台推送内容 推送内容务必填充body内容(否则无法收到推送), 目标平台(必选)
二: 新特性扩展推送图片
1. 在项目Target添加Notification Service Extension项; 命名为 NotificationService, 接着会自动生成NotificationService项目文件夹
UNNotificationServiceExtension 主要包含两个方法
1 | // You are expected to override this method to implement push notification modification. |
2.项目配置注意: App与Extension target编译时需统一编译模式,同时debug,或者同时release
1 | DEBUG模式, Extension code和App General全选Automatically manage signing ; BuildSettings 全选iOS Developer, Automatic |
3.code部分
didReceiveNotificationRequest方法做修改
1 | NSDictionary *dict = self.bestAttemptContent.userInfo; |
4.JPush控制台配置
三: 备注 JPush推送推送字串格式:
- 本文作者: 醉疏狂
- 本文链接: https://hubin97.github.io/2017/03/13/简易图文推送/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!