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