作為提供者為程式開發和部署推送通知,必須通過ios developer program portal獲得ssl證書。每個證書限用於乙個程式,使用程式的bundle id作為標識。證書有兩種用途的:一種是針對sandbox(用於開發和測試),另外一種針對發布產品。這兩種執行環境擁有為各自指定的ip位址並且需要 不同的證書。還必須為兩種不同的環境獲取各自的provisioning profiles。
apns提供了兩項基本的服務:訊息推送和反饋服務。
4. 此時會彈出一視窗,點「continue」
5. 彈出證書上傳頁面,證書選擇事先做好的「certificatesigningrequest.certsigningrequest」,然後點「generate」按鈕;
6. 接下來會有「your apns ssl certificate has been generated.」提示,點「continue」:
11. 選中push services證書,右鍵匯出證書為個人資訊交換(.p12)格式檔案,這裡我命名為「aps_development.p12」,點儲存時會彈出乙個密碼設定視窗,可留空不填:
12. 在終端執行下面的命令,把剛才匯出的個人資訊交換(.p12)格式檔案加密轉換成推送伺服器的推送證書:
[cpp]view plain
copy
openssl pkcs12 -clcerts -nokeys -out cert.pem -in aps_development.p12
openssl pkcs12 -nocerts -out key.pem -in aps_development.p12
openssl rsa -in key.pem -out key.unencrypted.pem
cat cert.pem key.unencrypted.pem > iostest_push_dev.pem
上面的命令在執行時有4處是需要輸入密碼的,其中1和2直接回車,3必須設定乙個key如「push」,在4處輸入3設定的key 「push」;
命令執行完後生成的「iostest_push_dev.pem」就是我們推送伺服器要使用的推送證書;
經過以上步驟的配置,已經完成了開發推送功能所需要的條件了,接下來將會新建乙個ios應用來體驗完成推送功能,在ios應用需要實現的介面。
為使應用能支援推送功能,我們的專案配置時要注意:
如environment」的授權串,如果繼續使用舊證書,在程式啟動嘗試註冊推送功能時會出現「
未找到應用程式的「aps-environment」的權利字串 」的錯誤;
測試需要用真機,模擬器不支援。
[cpp]view plain
copy
- (bool
}
return
yes;
}
2. 接收從蘋果伺服器返回的唯一的裝置token,該token是推送伺服器傳送推送訊息的依據,所以需要傳送回推送伺服器儲存
[html]view plain
copy
nsstring* token
= [nsstring stringwithformat:@"%@",devicetoken];
nslog(@"apns ->
生成的devtoken:%@", token);
//把devicetoken傳送到我們的推送伺服器
devicesender* sender
= [[[devicesender alloc]initwithdelegate:self ]autorelease];
[sender senddevicetopushserver:token ];
}
3.接收註冊推送通知功能時出現的錯誤,並做相關處理:
[html]view plain
copy
nslog(@"apns ->
註冊推送功能時發生錯誤, 錯誤資訊:\n %@", err);
}
4. 接收到推送訊息,解析處理
[cpp]view plain
copy
- (void
}
iOS推送通知的實現步驟
作為提供者為程式開發和部署推送通知,必須通過ios developer program portal獲得ssl證書。每個證書限用於乙個程式,使用程式的bundle id作為標識。證書有兩種用途的 一種是針對sandbox 用於開發和測試 另外一種針對發布產品。這兩種執行環境擁有為各自指定的ip位址並...
iOS推送通知的實現步驟
匯出鑰匙串中證書為p12檔案。進入certificates,identifiers profiles 管理頁面 如下圖 點選identifiers 填寫bundle id note bundle id要和本地需要整合推送功能的專案bundle identifier一致。點選create建立devel...
iOS 推送通知
作為提供者為程式開發和部署推送通知,必須通過ios developer program portal獲得ssl證書。每個證書限用於乙個程式,使用程式的bundle id作為標識。證書有兩種用途的 一種是針對sandbox 用於開發和測試 另外一種針對發布產品。這兩種執行環境擁有為各自指定的ip位址並...