最近負(fù)責(zé)smarthome基線APP的切SDK的遠(yuǎn)程推送部分。遠(yuǎn)程推送的代碼量不大,理解起來(lái)也比較簡(jiǎn)單,網(wǎng)上的教程也很多。
證書(shū)配置:在MAC應(yīng)用程序中找到鑰匙串訪問(wèn),打開(kāi)它。
點(diǎn)擊選項(xiàng)欄中的鑰匙串訪問(wèn)中的證書(shū)助理:
選擇從證書(shū)頒發(fā)機(jī)構(gòu)申請(qǐng)證書(shū):
填寫(xiě)電子郵件和名稱(chēng),選擇儲(chǔ)存到磁盤(pán),然后繼續(xù)。
這時(shí),我們存儲(chǔ)的地方有了這樣一個(gè)文件:CertificateSigningRequest.certSigningRequest。
(2)導(dǎo)出密鑰文件
打開(kāi)鑰匙串,會(huì)發(fā)現(xiàn)多了一對(duì)密鑰,名字就是上面你填寫(xiě)的常用名稱(chēng)。
我們選擇專(zhuān)用密鑰進(jìn)行導(dǎo)出,然后設(shè)置一個(gè)我們自己的密碼:
這時(shí)候我們又有了一個(gè)后綴名為.p12的文件。
(3)創(chuàng)建AppId
到https://developer.apple.com的member Center:

用你付過(guò)費(fèi)的開(kāi)發(fā)者appleID登陸后,選擇Certificates:
如果你的項(xiàng)目已經(jīng)創(chuàng)建了APP id,則可以不用重新創(chuàng)建,但是你創(chuàng)建的APP id必須要支持遠(yuǎn)程推送。如果還沒(méi)有創(chuàng)建,點(diǎn)擊加號(hào),創(chuàng)建一個(gè):
之后的界面中APP ID有兩種類(lèi)型:Explicit和Wildcard,分別是特殊的和通配的,我們需要推送功能,這個(gè)ID不能是通配的,所以我們選擇第一個(gè)。
這里需要填的的Bundle ID必須和我們App中的一致:
在APP ID的服務(wù)設(shè)置中,將Push Notification勾選上,點(diǎn)擊continue。
之后點(diǎn)擊submit,最后點(diǎn)擊Done。這時(shí)我們的APP IDs列表中會(huì)出現(xiàn)我們剛才創(chuàng)建的APP ID。
(4)創(chuàng)建證書(shū)
點(diǎn)擊我們剛才創(chuàng)建的APP ID,你會(huì)看到Push Notification一行為未設(shè)定的。我們點(diǎn)擊Edit。
在Push Notifications設(shè)置里是如下界面,development是開(kāi)發(fā)證書(shū),Production是產(chǎn)品證書(shū),我們現(xiàn)在需要測(cè)試,所以用Development證書(shū),上線時(shí)要使用Production證書(shū)。點(diǎn)擊Create Certificate。
接著點(diǎn)擊continue,如下界面會(huì)讓我們選擇一個(gè)CSR文件,我們第一步創(chuàng)建的文件在這里派上用場(chǎng)了,選擇那個(gè)文件,點(diǎn)擊Generate。
將創(chuàng)建好的證書(shū)下載到電腦中:
至此,我們已經(jīng)有了三個(gè)文件了,分別是CSR文件,.p12文件,.cer文件。要將這三個(gè)文件放在同一個(gè)目錄下。.cer文件分為測(cè)試和產(chǎn)品兩個(gè),需要哪個(gè)自行選擇。現(xiàn)在蘋(píng)果的push證書(shū)不再分測(cè)試和產(chǎn)品兩個(gè),只有一個(gè)“Apple Push Service:(你的bundle id)”。寫(xiě)了這么多,我們的準(zhǔn)備工作可算是做完了,不要灰心,其實(shí)你的推送工作基本上也就做完了。只是申請(qǐng)過(guò)程麻煩了一些,但工程的代碼,我們幾乎不用怎么配置。