配置推送通知比较麻烦,需要iOS开发者帐号,然后配置一个Apple ID、配置概要文件和SSL证书。
1 证书签名请求
首先需要证书签名请求,这需要在Mac OS X系统中完成,通过在系统中选择“实用工具”→“钥匙串访问”,然后在打开菜单“钥匙串访问”→“证书助理”→“从证书颁发机构请求证书…”。
选择“从证书颁发机构请求证书”菜单后会弹出证书助手对话框,在用户电子邮件地址输入你的邮件地址,常用名称中输入你的名字,然后在请求是选项中勾选“保存到磁盘”。
在证书助手对话框中点击“继续”按钮,然后会弹出保存证书文件对话框
2 配置应用推送通知
首先我们需要创建App ID,我们创建的App ID是<Team ID>.com.51work6. MyPushNot。然后我们在App ID列表中找到它,选择后面的点击Configure超链接进入应用配置页面,勾选“Enable for Apple Push Notification service”开启推送通知支持。
3 生成SSL证书
Push SSL Certificate中有两个可以配置,它们是:Development Push SSL Certificate(为开发配置证书)和Production Push SSL Certificate(为发布产品配置证书)。我们开发阶段配置Development Push SSL Certificate,选择后面的Configure按钮。
选择Continue按钮,在这个对话框中可以选择我们上一节中我们请求的证书签名文件。
然后选择Generate按钮,文件开始上传,上传成功并生成SSL证书,我们可以在这个页面中点击Download按钮下载生成的SSL证书,以便于后面使用。
点击Done按钮关闭对话框回到配置页面。
4 为SSL证书导出p12文件
我们在编程时候需要使用p12格式文件,p12用于存放个人证书和私钥,通常包含保护密码,是二进制格式。
上一节生成的SSL证书文件是aps_development.cer,双击这个文件出现修改钥匙串的提示框,我们需要系统管理员密码。
打开钥匙串访问工具,选择左边钥匙串为“登录”,在下边的钥匙串种类中选择“我的证书”,在右边的找到“Apple Development iOS Push Services:com.51work6.MyPushNot”。
右键会弹出对话框选择导出“Apple Development iOS Push Services:com.51work6.MyPushNot”。
导出过程中需要选择保存文件的位置和密码保护,需要提供密码
输入密码后点击“好”按钮,系统还会让我们输入管理员用户密码,以便于许可这次导出操作。
输入密码选择“总是允许”按钮导出成功,导出文件“证书.p12”,把这个文件保管好以备后面编程时候使用。
出自《iOS网络编程与云端应用最佳实践》作者:关东升 @tony_关东升