iOS开发应用程序证书配置相关(推送)

来源:互联网 发布:埃摩森猎头公司知乎 编辑:程序博客网 时间:2024/06/07 03:17
provision

开发者账号:
https://developer.apple.com/

http://blog.csdn.net/phunxm/article/details/42685597  (学习文档)

苹果所有的证书都分为测试证书和发布证书两种

关于苹果开发者配置证书问题,纠结了好几个小时,现在对步骤进行一个总结和巩固(主要是配置推送证书)
首先需了解一下苹果设备发送和接受推送消息的流程(以LeanCloud的推送机制为参考)
APNs(Apple Push Notification Service

  • 应用打开推送开关,用户要确认 TA 希望获得该应用的推送消息;
  • 应用获得一个 DeviceToken;
  • 应用将 DeviceToken 保存起来,这里就是通过 [AVInstallation saveInBackground]将 DeviceToken 保存到 LeanCloud;
  • 当某些特定事件发生,开发者委托 LeanCloud 来发送推送消息,这时候 LeanCloud 的推送服务器就会给 APNs 发送一则推送消息,APNs(Apple Push Notification Service) 最后消息送到用户设备。

简单一句话就是:用户首先允许该应用接受推送消息,应用程序在启动时需注册推送服务,注册完毕后APNs会在代理方法中返回该设备的Token,说明该设备可以接受推送通知了(在这里我们因为要借助服务器发送推送,需将Token保存在我们的服务器上)。我们的系统服务器将推送消息信息(包含消息内容、发送给的设备Token、唯一的应用Bundle ID)发给APNs; APNs查找已允许和注册推送服务的设备,将消息发送给设备;iOS系统再把消息传给相应地应用程序,应用程序通过代码弹出push通知(alert、音乐形式等等)

主要的麻烦点是在配置推送证书问题:

1、创建应用程序ID

AppID


2、配置和下载推送证书

可参考链接  https://leancloud.cn/docs/ios_push_cert.html

基本就是3步:
1)在系统钥匙串处生成一个 .certSigningRequest请求文件

  —》            
2)在Apple开发者中心配置推送通知根据提示上传1)步创建的文件,完成后下载推送证书。


双击安装(屏幕闪一下说明安装成功),在钥匙串中我的证书中找到该证书,并导出 .p12文件  (该文件用于上传至LeanCloud推送服务器)

3、Apple开发者中心配置PP文件

根据提示一步一步完成后,将PP文件下载到本地(这里需查看一下该文件的状态,是否是Active状态)
文件展示:


双击安装(屏幕闪一下说明安装成功)

配置完毕以后我们就可以根据我们集成的第三方SDK来完成应用程序的推送消息服务了
我们通过服务器的一个实现方法(从服务器发送一条推送消息给该应用,看是否能接收成功)

LeanCloud推送链接:https://leancloud.cn/docs/ios_push_guide.html

配置完毕推送证书以后,在AppDelegate中注册通知后,苹果APNs服务器在返回设备Token时显示一下错误信息:
Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserInfo=0x1187ad0 {NSLocalizedDescription=未找到\345\272\224用程序的“aps-environment”的权利字符串
1、可能是程序的Bundle identifier 与注册推送证书的Bundle ID 不一致
2、PP证书配置文件状态灯不是绿色的。(需重新导出该PP文件,并双击安装)
0 0
原创粉丝点击