1. 程式人生 > >ios 接入百度推送

ios 接入百度推送

iOS在接入百度推送時,需要百度開發者平臺建立應用生成app ID,在建立的過程中則需要上傳.pem檔案,(開發環境和生產環境)建立.pem檔案請參照官方給的步驟。
一、建立.pem完成並上傳,報錯:證書無效
解決辦法:
1、首先確保建立.pem檔案的每一個步驟都沒有錯
2、檢視當前Mac系統版本,如果高於10.12.6,那麼可能是因為當前Mac系統版本對應的openssl版本高於0.9.8zh,而百度推送不接收高於0.9.8zh版本openssl生成的.pem檔案。
3、確定問題之後,可以到
https://www.openssl.org/source/old/0.9.x/ 下載openssl 0.9.8zh版本

4、cd 你解壓後的壓縮包目錄

5、執行命令

./Configure darwin64-x86_64-cc –prefix=/usr/local/openssl –shared
這一步可能會遇到沒有許可權建立openssl資料夾的問題,可以手動到/usr/local/下建立一個openssl資料夾,然後在執行命令

6、執行命令(如果在/usr/local/目錄下找不到openssl,那麼需要新建,然後再執行該步驟)

make && make install
7、openssl將會出現在這個路徑下:/usr/local/openssl/bin/openssl,命令列檢視下版本:

/usr/local/openssl/bin/openssl version
顯示0.9.8zh,成功!!!

8、生成pem:

/usr/local/openssl/bin/openssl pkcs12 -in 你的p12名字.p12 -out 輸出的pem名字.pem -nodes
9、丟給百度推送吧
(參考:https://www.cnblogs.com/zhaowenshuang/p/7668848.html

二、建立應用成功之後,匯入百度推送sdk到自己的專案中(參照官方給的文件)
一切準備就緒,run進行測試
報錯:有方法報錯selector not recognized
解決:
在Build Setting-搜尋other-Other Linker Flags-新增-ObjC或-all_load或-force_load
重新run,問題解決
(參考:

https://blog.csdn.net/h643342713/article/details/53524983

三、收到推送訊息需要在icon上設定角標
經百度查詢,收到遠端推送訊息時:此時收到推送,系統會根據推送訊息的aps裡的內容執行操作,包括:”sound”-提示音、”alert”-通知欄顯示的推送內容、”badge”-程式角標值、”content-available”-靜默推送標誌,所以icon上的角標是由後臺給的,然後收到訊息時系統會自行根據欄位badge來顯示。
(參考:https://blog.csdn.net/h643342713/article/details/53524983