iOS開發之遠端推送

2022-03-11 00:38:21 字數 2516 閱讀 7343

說到遠端推送,應該用的也挺多的,今天就基於sea的雲推送服務,做乙個推送的小demo,來了解一下ios中的遠端推送是怎麼一回事兒,首先你得有蘋果的開發者賬號,好鹹蛋也差不多了,主要內容走起。

一、準備階段

(1).開啟mac下的鑰匙串-》鑰匙串訪問-》證書助理-》從證書頒發機構請求證書,如下圖所示:

(2).經過上一步會出現下面的對話方塊,郵箱和名稱隨便填寫,然後選擇儲存到磁碟,就可以在本地生成乙個certificatesigningrequest.certsigningrequest檔案。如下圖:

(1)、用開發者賬號登陸後,進入member center,入下圖所示:

(5)、繫結你應用的bundle id

(1)、點選證書,選中開發模式,然後單選推送服務

(3)、上傳我們剛才在本地用鑰匙串建立的檔案:

5.由上面的證書,生成php用的pem檔案過程如下:

(1).由鑰匙串開啟上面我們生成的csr檔案,單擊右鍵匯出p12檔案,如下圖:

(2).設定訪問密碼:

(3)、在終端下切換到存有剛才我們匯出的p12資料夾下,進行命令列生成pem檔案,命令列如下,合併的時候會讓輸入密碼,密碼就是我們上面設定的密碼:

1 openssl pkcs12 -clcerts -nokeys -out a.pem -in

aps_test_cer.p12

2 openssl pkcs12 -nocerts -out b.pem -in

aps_test_key.p12

3 cat a.pem b.pem > end.pem

6、將生成的end.pem檔案上傳到sae上的雲推送服務上即可,我們在sae上可以通過檔案的id進行訪問:

二、伺服器端**編寫:

sae上雲推送所用到的php**如下:

1

<?php23

$cert_id =你的證書序號;

4$device_token =你的devicetoken;

5$message = "hello world";67

//這個是簡單的例子,更複雜的訊息格式請檢視蘋果官方文件

8$body = array

(9 'aps' => array( 'alert' => $message)10

);11

$apns = new

saeapns();

12//

push訊息到sae推送伺服器

13$result = $apns->push( $cert_id , $body , $device_token

);14

15if( $result && is_array($result

) ) else

2223

//檢視訊息傳送的彙總資訊,返回值包括當天傳送成功的訊息數,以及因各類原因傳送失敗的訊息數。

24$result = $apns->getinfo($cert_id

);25

if ($result === false

) else

3233 ?>

三、客戶端**如下:

//

//註冊遠端通知

return

yes;

}2.獲取裝置令牌的**方法

1

//註冊遠端推送後獲取裝置令牌24

3.註冊錯誤**的方法:

4.在build settings中的code signing中中我們的推送證書和描述檔案

到這兒,呼叫伺服器上的php檔案就可以給我們的裝置傳送通知了。

iOS 遠端推送

ios應用的 之需做2件事情 1.在程式啟動時,註冊遠端通知服務,說白了 就是發訊息給蘋果,詢問 我的最新devicetoken是多少?注意 第一次註冊時,需要使用者授權,也就是我們常見的 應用 想要給您傳送推送通知 具體的 如下 註冊遠端通知服務 uiremotenotificationtypes...

iOS開發訊息推送機制 遠端推送。

圖2 獲得裝置的devicetoken 到現在為止總結起來的流程就是 推送前的配置 1.準備一堆證書 在 哪台電腦 上用哪台裝置 除錯哪個應用 2.利用裝置 udid 標識在devices 一欄中註冊裝置 3.建立 應用的唯一標識,bundleidentifier tips 萬用字元 id 不能用於...

IOS開發之高階功能 遠端推送

最近,公司做了一款應用,給我分到了乙個推送的模組。剛開始感覺挺簡單的。第三方庫什麼都有得,也不用直接跟apns打交道。後來,越寫越發現,並不是那麼的簡單。好多東西必須知道深層的原理,才便於今後我們開發。今天,我就簡單的說說推送。推送 是將一條資訊或者一張 從乙個裝置推送到另一台裝置。此處的裝置指的是...