1. 程式人生 > >極光推送demo測試流程,測試過程中可能遇到的問題和解決方法

極光推送demo測試流程,測試過程中可能遇到的問題和解決方法

建立開發證書,建立描述檔案,極光推送頁面設定,Xcode工程設定,真機測試

步驟1:建立開發證書

<1>.登陸 https://developer.apple.com進入開發者中心

<2>進入建立和描述檔案頁面

<3>.點選App IDs 建立一個app id

<4>.進入建立頁面以後在App ID Description輸入app id 的名稱

<5>.填入一個唯一的app id (注:推送的app id 只能建立一個唯一的,不能使用通用的。)

Explicit App ID是一個唯一的app id Wildcard App ID是一個通用的app id (可以用*代替任意內容)

<6>.勾選Push服務

<7>.下一步,此時服務的選項是黃色的,代表需要建立對應的證書,(證書下面建立,先完成app id 的建立)點選繼續,完成建立

<8>.建立證書

<9>.勾選測試推送證書,(這個證書用於伺服器向APNS傳送推送請求的時候使用)點選繼續

<10>.選擇我們剛才1~9步的時候建立的app id 點選繼續

<11>.提醒你需要一個CSR檔案

<12>.上傳(CSR檔案)。

<12.1> 建立CSR檔案的流程

開啟鑰匙串- 點選選單的鑰匙串訪問-證書助理-從證書頒發機構請求證書

<12.2>填寫請求的詳情,輸入請求者的郵箱,可以通過郵箱傳送給請求者,也可以儲存到本地磁碟

點選繼續

<12.3>選擇位置,點選儲存(建立好的CSR檔案會出現在對應的資料夾中)

<13>.點選選擇檔案,來提交我們建立的CSR檔案

<14>、選擇對應的CSR檔案點選選取,然後點選繼續。

<15>、下載這個證書

步驟2:建立描述檔案

<1>開始建立描述檔案

<2>選擇描述檔案的型別,然後點選繼續

<3>.選擇這個描述檔案包含的app id(app id 是1~9步所建立的)

<4>.選擇所需要用到的證書(如果有多個可以全選)

<5>.選擇所需要用到的裝置(可以全選)然後點選下一步。

點選完成以後雙擊證書和描述性檔案, 上面申請的證書是測試遠端推送的一個證書。
測試推送證書只用於伺服器向apns傳送訊息的時候使用 (一般要求為pem檔案)可以先匯出p12然後在轉換成pem檔案

步驟3: 極光推送頁面設定

<1>雙擊開啟證書

雙擊開啟證書後,證書開啟時會啟動“鑰匙串訪問”工具。 在“鑰匙串訪問”中你的證書會顯示在“我的證書”中

<2>匯出 .p12 證書檔案

<3>將檔案儲存為Personal Information Exchange (.p12)格式。

<4>上傳證書

在 JPush 管理 Portal 上,針對某應用程式,上傳上面步驟得到 .p12 證書檔案。這是 iOS SDK 能夠接收到 JPush 推送訊息的必要步驟。

<4.1>在JPush Portal上建立應用

在 JPush的管理Portal 上建立應用並上傳APNs證書。如果對APNs證書不太瞭解 請參考: iOS 證書設定指南

<4.2>建立成功後自動生成 AppKey 用以標識該應用。

步驟4:Xcode工程設定

<1>.專案程式碼

AppDelegate.h裡面的程式碼: #import### staticNSString appKey = @“4fd48a0712a3fde75eb1c7423”;//申請應用成功以後官方會提供給你. staticNSString channel = @“Publish channel”; staticBOOL isProduction = FALSE; @interface AppDelegate :UIResponder ### @property(strong,nonatomic) UIWindow *window; @end

<2>. Xcode的證書配置教程

參照iOS SDK 整合指南整合JPush SDK 和上傳了推送用到的p12證書後在編譯執行前需要先配置一下證書,步驟如下: 開啟xxx-info.plist的Bundle identifier項把上傳到JPush 控制檯的bundle id填寫進去:

<3>點選專案,選擇目標TARGETS後進入Build Setting 介面,搜尋“Code signing”,按照下圖配置

<4>客戶端設定

需要在Xcode 中修改應用的 Capabilities 開啟Remote notifications,請參考下圖:

步驟5:真機測試

<1>登陸到極光推送官網

<2>選擇應用,也就是你建立測試的專案:我的專案是aa.TestPush

<3>點擊發送通知

點選左邊的傳送通知,也可以選擇自定義訊息(這裡我選擇的傳送通知):

<4>填寫推送內容

這裡我隨便寫點什麼用我手機測試:

<5>點選立即傳送:

<6>手機上的顯示:

<7>推送歷史

===================================================================================================================================================================================================================================================================================================================================================

測試過程中可能遇到的問題和解決方法

1.提示“Not get deviceToken yet. Maybe: your certificate not configured APNs? or current network is not so good so APNs registration failed? or there is no APNs register code? Please refer to JPush docs.”

原因:我的CodeSigning中的Provision Profile沒有選擇正確,原因是我在apple的dev中心修改了配置,但沒有更新到xcode。更新可以在賬戶管理中找到,xcode選單在Xcode->Preferences->account選項卡,在Apple IDs中找到你得賬號,點選右下角的view detail按鈕,在彈出的視窗中點選左下角的重新整理按鈕即可重新整理最新的Provision Profile。最後在CodeSigning中的Provision Profile中選擇最新的值即可。

2.在給新的iphone手機測試時,接收不了推送訊息

原因:你的描述檔案中不包含新手機的裝置。 要去開發者中心更新你的描述檔案。新增新的裝置。然後重新下載描述檔案,雙擊在執行Xcode

3.在真機測試的時候往往會突然出現這樣一個錯誤,code signing is required for product type ‘Application’ in SDK’iOS 9.1’ 。

原因:就是說程式碼簽名證書不對勁

解決方案1.選擇工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 將選項改為:iPhone Developer

解決方案2.重新下載你的證書,或者修改萬用字元,或者說修改你的appid 。選擇工程 -》Bundle Identifier 修改為最新的appid 。造成這種原因是因為你修改了你的app sdk版本。

如果還不行,可以試試 Edit Project Setting 下面的那個選單:Edit Active Target “Hello World” =》Build =》 Code Signing =》 Any ios 的值設定為iphone Developer

4.編譯報錯Could not find Developer Disk Image

原因:字面意思是找不到開發者的磁碟映像!!大概意思是Xcode7.1 不支援iOS9.2 解決方法1.更新了Xcode 解決方法2. 下載iOS9.2的配置檔案包,右鍵開啟xcode的顯示包內容,拷貝到你的/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport這個目錄下(需要注意一點的是,將配置檔案拷貝過去後,將XCode重啟下再進行編譯,如果還不行,可以嘗試將MAC重啟,如果正常的話,會重新掃描符號檔案,待掃描完成,就可以進行真機除錯了。)