iOS开发应用程序证书配置相关(推送)
2016-08-04 11:30
141 查看
provision
开发者账号: https://developer.apple.com/
http://blog.csdn.net/phunxm/article/details/42685597 (学习文档)
苹果所有的证书都分为测试证书和发布证书两种
关于苹果开发者配置证书问题,纠结了好几个小时,现在对步骤进行一个总结和巩固(主要是配置推送证书)
首先需了解一下苹果设备发送和接受推送消息的流程(以LeanCloud的推送机制为参考)
APNs(Apple Push Notification Service)
应用打开推送开关,用户要确认 TA 希望获得该应用的推送消息;
应用获得一个 DeviceToken;
应用将 DeviceToken 保存起来,这里就是通过
当某些特定事件发生,开发者委托 LeanCloud 来发送推送消息,这时候 LeanCloud 的推送服务器就会给 APNs 发送一则推送消息,APNs(Apple
Push Notification Service) 最后消息送到用户设备。
简单一句话就是:用户首先允许该应用接受推送消息,应用程序在启动时需注册推送服务,注册完毕后APNs会在代理方法中返回该设备的Token,说明该设备可以接受推送通知了(在这里我们因为要借助服务器发送推送,需将Token保存在我们的服务器上)。我们的系统服务器将推送消息信息(包含消息内容、发送给的设备Token、唯一的应用Bundle ID)发给APNs; APNs查找已允许和注册推送服务的设备,将消息发送给设备;iOS系统再把消息传给相应地应用程序,应用程序通过代码弹出push通知(alert、音乐形式等等)
主要的麻烦点是在配置推送证书问题:
1、创建应用程序ID
AppID
![](https://img-blog.csdn.net/20160804113604380?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、配置和下载推送证书
可参考链接 https://leancloud.cn/docs/ios_push_cert.html
基本就是3步:
1)在系统钥匙串处生成一个 .certSigningRequest请求文件
![](https://img-blog.csdn.net/20160804113622286?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
—》
![](https://img-blog.csdn.net/20160804113635459?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160804113643459?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2)在Apple开发者中心配置推送通知根据提示上传1)步创建的文件,完成后下载推送证书。
![](https://img-blog.csdn.net/20160804113650053?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
双击安装(屏幕闪一下说明安装成功),在钥匙串中我的证书中找到该证书,并导出 .p12文件 (该文件用于上传至LeanCloud推送服务器)
3、Apple开发者中心配置PP文件
![](https://img-blog.csdn.net/20160804113659474?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
根据提示一步一步完成后,将PP文件下载到本地(这里需查看一下该文件的状态,是否是Active状态)
文件展示:
![](https://img-blog.csdn.net/20160804113704475?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
双击安装(屏幕闪一下说明安装成功)
配置完毕以后我们就可以根据我们集成的第三方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文件,并双击安装)
开发者账号: 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文件,并双击安装)
相关文章推荐
- ios证书配置管理;iOS生产证书、测试证书申请及管理;ios推送证书申请及配置;Xcode打包证书配置;多人开发证书共享方法
- ios应用开发相关证书的申请和配置
- iOS应用开发10——推送通知证书申请及配置
- IOS 开发之推送 备注(证书的配置
- ios 开发相关的证书和授权文件 知识介绍
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
- iOS 消息推送证书配置
- 【java/C# 服务器】IOS 配置推送证书 p12文件流程 - 勿以己悲
- iOS推送小结(证书的生成、客户端的开发、服务端的开发)
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
- IOS开发创建开发证书及发布App应用(四)——创建配置概要文件
- ios 推送证书的配置和制作
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
- IOS开发创建开发证书及发布App应用(四)——创建配置概要文件
- 在Visual Studio中使用MonoTouch开发iOS应用程序(上):环境配置
- iOS开发资源:推送通知相关开源项目
- iOS推送小结(证书的生成、客户端的开发、服务端的开发)
- VS中使用MonoTouch开发iOS应用程序 配置环境
- iOS推送小结(证书的生成、客户端的开发、服务端的开发)