iOS移动推送
iOS消息推送的工作机制如下图所示:
第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。
在实际的开发中,会使用第三方的移动推送平台运营商,如极光推送、阿里推送,这里我们使用的是阿里推送来做介绍
一、注册推送证书
简单介绍一下iOS移动推送预备工作,首先进入苹果开发者平台使用苹果开发者账号登陆
选择中间的Certificates, Identifiers & Profiles
找到应用对应的Identifiers(Bundle ID)进入Edit your App ID Configuration,勾选Push Notifications, 生成推送证书,以上步骤需要有可用的Apple 开发者账号和已创建的应用ID。配置好后下载证书文件双击安装, 系统会自动打开钥匙串,选中安装的证书文件,右击导出为.p12文件保存好用于上传至第三方推送平台
二、Xcode项目配置
使用Xcode打开项目代码,点击左侧项目导航栏并选中项目,选择Signing & Capabilities
点击下方的+ Capability会弹出视图
分别搜索Push Notification和Remote Notifications,成功添加后如下图所示,Xcode移动推送配置就算完成了
三、使用阿里推送SDK集成
3.1 注册应用并上传p12文件
1、登录EMAS控制台。创建应用并通过审核
2、在控制台首页产品及应用模块,单击选择您的iOS应用,进入当前应用的应用管理页面。
3、单击右上角的应用配置,选择推送配置页签。
4、分别上传配置好的.P12证书、输入证书密码单击保存并验证证书。
5、输入测试设备的device Token,单击测试推送,测试成功后单击确定完成配置。
3.2 下载SDK集成到项目中
公共包依赖
- libz.tbd
- libresolv.tbd
- CoreTelephony.framework
- SystemConfiguration.framework
- libsqlite3.tbd
SDK目录结构
- CloudPushSDK.framework
- AlicloudUtils.framework
- UTDID.framework
- UTMini.framework
引入Framework
- Xcode中,直接把下载SDK目录中的framework拖入对应Target下即可,在弹出框勾选
Copy it