1. 程式人生 > >iOS開發——遠程消息推送的實現

iOS開發——遠程消息推送的實現

ice 分享 mit load con targe you 取消 tex

在我們使用App的過程中。總是會收到非常多的消息推送。今天我們就要來實現這個功能。首先消息推送分為本地消息推送和遠程消息推送。而當中又以遠程消息最為經常使用。

可是在推送遠程消息之前。有兩個前提條件。你須要購買蘋果的開發人員賬號,也就是每年99刀;而且有一臺iOS真機(模擬器不能測試推送)。事實上遠程推送須要有server,可是我們自己臨時沒有server,到時候後臺使用Parse進行推送。

實現過程例如以下:

(1)進入蘋果的開發人員站點:https://developer.apple.com/ 。點擊右上角的Member Center,登錄。就會進入例如以下界面:

技術分享



(2)點擊Certificates,Identifiers & Profiles 進入,出現例如以下界面:

技術分享



(3)點擊iOS Apps中的Certificates中進入,出現例如以下界面。開始進行配置:

技術分享



(4)打開Mac上的鑰匙串訪問,選擇鑰匙串訪問-->證書助理-->從證書頒發機構請求證書。

用戶電子郵件地址和CA電子郵件地址都填寫你已經申請的開發人員賬號,經常使用名稱能夠任意,然後存儲到磁盤就可以。

這樣就會生成一個CSR文件,在站點上配置時須要用到。如圖:

技術分享


生成的文件例如以下:

技術分享


(5)然後再來到剛才的開發人員站點上。選擇Certificates-->Development(開發用),假設你要公布,也能夠選擇Production,然後在右側點擊如圖所看到的:

技術分享



(6)然後在進入的頁面中選擇第二項:Apple Push Notification Service SSL (Sandbox). 點擊continue.

技術分享


(7)假設你還沒有為你的應用創建App ID,那麽就會出現例如以下界面。創建一個就可以。然後點擊continuebutton。

技術分享



(8)App ID Description 的name能夠任意取,我填MyPushDemo。

在Explicit App ID的Bundle ID中填入你應用的ID,我填入 com.chenyufengweb.MyPushDemo.

在最以下的App Services。中選擇Push Notifications,點擊continuebutton。

進入下一個頁面再點擊submit就可以。


(9)註意。因為一開始我們沒有創建App ID。經過以上步驟,我們僅僅是完畢了創建App ID的步驟。以下我們還是要創建Certificates證書。

此時就會出現例如以下界面,你選擇自己要用的那個App ID就可以。

技術分享


(10)進入到例如以下界面後,選擇我們剛才從鑰匙串訪問生成出來的CSR文件:然後點擊Generate就可以。

技術分享



(11)出現例如以下界面,下載我們的證書就可以,點擊Done就可以。

技術分享



(12)這樣我們的證書就生成、配置好了。

技術分享



下載後的文件例如以下:

技術分享

(13)此時我們還須要生成一樣東西。點擊Certificates-->Development,點擊右上角“+”號button,在出現的界面中選擇第一項(之前我們選擇了第二項Apple Push Notifiation).點擊continue。

技術分享



(14)同上,選擇鑰匙串訪問時生成的CSR文件。點擊Generate。然後一路Continue就可以。此時Certificates下的界面如圖:

技術分享


下載後的cer文件例如以下:

技術分享


(15)經過以上步驟。我們的App IDs和Certificates就生成好了。

以下要開始配置 Provisioning Profile.點擊Provisioning Profiles中的Development(這是開發。假設你要公布,能夠選擇Distribution).

技術分享.


(16)然後點擊右上角的“+”號button,加入一個配置文件。

選擇iOS App Development。點擊Continue繼續。

技術分享




(17)選擇剛才我們生成的App ID就可以:

技術分享



(18)然後選中我們的證書就可以。

點擊Continue繼續。

技術分享


(19)在以下出現的界面選擇我們須要測試的設備,所有選中就可以。Continue繼續。

技術分享


(20)下圖中輸入Profile Name。任意就可以。點擊Generate就可以。

技術分享


(21)然後下載Profile文件。

技術分享


下載後的文件例如以下:

技術分享



(22)通過以上步驟。我們在蘋果開發人員站點上的配置已經完畢了。如今我們已經下載了3個文件,直接雙擊三個文件進行安裝就可以。

技術分享



技術分享



技術分享


(23)此時再次打開鑰匙串訪問。就會在“證書”中出現我們剛才生成、安裝的證書。

技術分享


技術分享


(24)點擊右鍵,導出這個證書。

技術分享


技術分享


你能夠輸入password和驗證,可是我們使用Parse作為後臺進行推送,Parse不須要進行驗證,我們直接點擊“好”就可以。

技術分享

最後輸入我們的電腦password就可以。

技術分享


最後會在桌面上生成.p12文件。

技術分享


(25)以下我們開始使用Parse進行推送。網址: http://www.parse.com/ 。

註冊一個賬號,然後創建一個新的App,如圖:

技術分享



(26)點擊左側面板App Setting-->Push.在右側的Apple Push Certificates中上傳剛才生成的.p12文件。

技術分享


上傳成功後例如以下:

技術分享


(27)如今配置所有完畢。開始要寫代碼了。

我們偷個懶,直接從Parse上下載Demo使用。我也上傳到Github。大家直接配置就能夠使用:https://github.com/chenyufeng1991/iOS-ParsePushDemo。

選擇Download。

技術分享



(28)然後就會出現例如以下界面,選擇Blank Project下載空文件就可以。解壓打開就能夠使用。

技術分享




(29)打開項目,進入ParseStarterProjectAppDelegate.m文件,取消凝視以下這行代碼:

[Parse setApplicationId:@"your_application_id" clientKey:@"your_client_key"];

然後再次來到Parse中,從App Settings-->Security & Keys找到Application ID 和Client Key填入上面的代碼中。

技術分享


如今這行代碼就變為:

[Parse setApplicationId:@"2MRcLbJlEP3PF4s8tNOf14jcy2qjH4tVEKzta41k" clientKey:@"N0onfUozbzRDDxkZTKBb9aOLyLi9uiWZilzeeO5S"];


(31)同一時候要改動程序的App ID,剛才我設置的是com.chenyufengweb.MyPushDemo .僅僅要在Info.plist文件的Bundle identifier中改動就可以。

技術分享


(32)然後還要進入Targets-->Build Stetings,右側輸入 code sign搜索。把下方的Provisioning Profile設置成我們在開發人員站點上輸入的Name,把Code Signing Identity設置成自己的開發人員賬號。

技術分享


(33)經過以上復雜的步驟。你就能夠在真機上執行程序了。當程序執行起來後,我在Parse上推送一條消息。進入Push。然後點擊右上角的Send a push.

技術分享.


技術分享.


(34)然後在Parse上推送一條消息。

點擊發送就可以。

技術分享



(35)大概幾秒之後。client就會收到推送消息。點擊推送消息就能進入App。至此,整個遠程消息推送就完畢了。

技術分享



總結:遠程推送的配置過程是較為麻煩的。假設大家有時間,能夠對APNS,簽名。Provisioning Profile,證書等概念進行了解,就會更加的得心應手。



github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!


iOS開發——遠程消息推送的實現