iOS開發——遠程消息推送的實現
在我們使用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開發——遠程消息推送的實現