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
- iOS开发应用程序证书配置相关(推送)
- iOS推送证书配置
- iOS 推送证书配置
- IOS 开发之推送 备注(证书的配置
- iOS 消息推送证书配置
- iOS推送证书配置问题
- ios的推送证书配置
- ios 推送证书的配置
- iOS开发之推送证书
- iOS开发 - 获取推送证书
- 配置iOS证书 (3) --> 远程推送证书
- ios证书配置管理;iOS生产证书、测试证书申请及管理;ios推送证书申请及配置;Xcode打包证书配置;多人开发证书共享方法
- iOS开发-百度云推送开发证书(续)
- iOS 推送的ios证书配置
- iOS开发证书相关(简述)
- iOS开发-证书配置
- ios应用开发相关证书的申请和配置
- iOS 发布证书(推送)
- Git常用命令
- Unable to load native-hadoop library for your platform
- 在内部存储中写文件
- 传送门:安卓获取子控件的位置
- 140.Identify two situations in which the block header grows in a data block. (Choose two.)
- iOS开发应用程序证书配置相关(推送)
- IDEA 本地项目导入到gitHub上
- 四方碰撞检测
- eclipse开发erlang
- 1790: 弹珠游戏(直接写)
- Epoll模型详解
- (void) (&_x == &_y)
- Android应用 -- 简洁实用的 日历签到
- POJO对象拷贝