創(chuàng)建app端推送證書(shū)及配置文件
在進(jìn)行iOS推送功能實(shí)現(xiàn)之前,首先需要在app端進(jìn)行推送證書(shū)及配置文件的創(chuàng)建。這些證書(shū)和配置文件將用于與蘋(píng)果推送服務(wù)器進(jìn)行通信。第一步,在的member center中設(shè)置AppId屬性,并啟用推送功
在進(jìn)行iOS推送功能實(shí)現(xiàn)之前,首先需要在app端進(jìn)行推送證書(shū)及配置文件的創(chuàng)建。這些證書(shū)和配置文件將用于與蘋(píng)果推送服務(wù)器進(jìn)行通信。
第一步,在的member center中設(shè)置AppId屬性,并啟用推送功能。確保在AppId的屬性列表中已經(jīng)啟用了推送功能。
第二步,在的member center中創(chuàng)建APN證書(shū)。對(duì)于開(kāi)發(fā)環(huán)境(sandbox),選擇Development -gt; Apple Push Notification service SSL (Sandbox);對(duì)于發(fā)布到AppStore的應(yīng)用程序,選擇Production -gt; Apple Push Notification service SSL。完成證書(shū)的創(chuàng)建后,可以在AppId的屬性列表中查看到證書(shū)的名稱。
第三步,基于第一步所修改的AppID,重新生成provision文件。確保在iOS項(xiàng)目中加載此provision文件,這樣編譯出的應(yīng)用程序才能夠獲取到設(shè)備的token(推送唯一標(biāo)識(shí)符)。
創(chuàng)建php推送服務(wù)器ssl證書(shū)
接下來(lái)是針對(duì)服務(wù)端的推送設(shè)置步驟。
首先,在keychain中找到之前創(chuàng)建的APN證書(shū),展開(kāi)此證書(shū),分別導(dǎo)出證書(shū)和密鑰,并將其命名為cer.p12和key.p12。
然后,在控制臺(tái)程序中使用openssl將cer.p12和key.p12轉(zhuǎn)換成和格式的文件。命令如下:
```
$ openssl pkcs12 -clcerts -nokeys -out -in cer.p12
$ openssl pkcs12 -nocerts -out -in key.p12
```
接下來(lái),測(cè)試生成的和是否可用。使用以下命令連接到蘋(píng)果推送服務(wù)器:
```
$ openssl s_client -connect -cert -key
```
注意:對(duì)于發(fā)布到AppStore的應(yīng)用程序,使用;對(duì)于開(kāi)發(fā)環(huán)境(sandbox)的應(yīng)用程序,使用。命令執(zhí)行后,如果最后處于可輸入狀態(tài),并在輸入幾個(gè)字符后自動(dòng)斷開(kāi)連接,則表示正常。
最后,合并和文件:
```
$ cat >
```
將生成的上傳到推送服務(wù)器的推送程序的目錄中。
Tip:可以使用以下命令查詢推送服務(wù)器php文件目錄:
```
find / -name "*.php"
```
并使用以下命令將本地文件上傳到Linux服務(wù)器上:
```
scp ~ :/var/www/html
```
服務(wù)器端代碼實(shí)現(xiàn)推送功能
最后,在推送服務(wù)器的php代碼中加載文件,以便向蘋(píng)果服務(wù)器發(fā)送推送消息。
具體的客戶端OC代碼獲取token和接收推送消息的實(shí)現(xiàn)不在本文中詳述。