最近负责smarthome基线APP的切SDK的远程推送部分。远程推送的代码量不大,理解起来也比较简单,网上的教程也很多。
证书配置:在MAC应用程序中找到钥匙串访问,打开它。
点击选项栏中的钥匙串访问中的证书助理:
选择从证书颁发机构申请证书:
填写电子邮件和名称,选择储存到磁盘,然后继续。
这时,我们存储的地方有了这样一个文件:CertificateSigningRequest.certSigningRequest。
(2)导出密钥文件
打开钥匙串,会发现多了一对密钥,名字就是上面你填写的常用名称。
我们选择专用密钥进行导出,然后设置一个我们自己的密码:
这时候我们又有了一个后缀名为.p12的文件。
(3)创建AppId
到https://developer.apple.com的member Center:
用你付过费的开发者appleID登陆后,选择Certificates:
如果你的项目已经创建了APP id,则可以不用重新创建,但是你创建的APP id必须要支持远程推送。如果还没有创建,点击加号,创建一个:
之后的界面中APP ID有两种类型:Explicit和Wildcard,分别是特殊的和通配的,我们需要推送功能,这个ID不能是通配的,所以我们选择第一个。
这里需要填的的Bundle ID必须和我们App中的一致:
在APP ID的服务设置中,将Push Notification勾选上,点击continue。
之后点击submit,最后点击Done。这时我们的APP IDs列表中会出现我们刚才创建的APP ID。
(4)创建证书
点击我们刚才创建的APP ID,你会看到Push Notification一行为未设定的。我们点击Edit。
在Push Notifications设置里是如下界面,development是开发证书,Production是产品证书,我们现在需要测试,所以用Development证书,上线时要使用Production证书。点击Create Certificate。
接着点击continue,如下界面会让我们选择一个CSR文件,我们第一步创建的文件在这里派上用场了,选择那个文件,点击Generate。
将创建好的证书下载到电脑中:
至此,我们已经有了三个文件了,分别是CSR文件,.p12文件,.cer文件。要将这三个文件放在同一个目录下。.cer文件分为测试和产品两个,需要哪个自行选择。现在苹果的push证书不再分测试和产品两个,只有一个“Apple Push Service:(你的bundle id)”。写了这么多,我们的准备工作可算是做完了,不要灰心,其实你的推送工作基本上也就做完了。只是申请过程麻烦了一些,但工程的代码,我们几乎不用怎么配置。