隨著蘋果ios13系統(tǒng)即將發(fā)布,個(gè)推提前推出devicetoken適配方案,以確保新版本的兼容與app推送服務(wù)的正常使用。ios13的一個(gè)重要變化是"[devicetoken
description]" 會(huì)受不同運(yùn)行環(huán)境及系統(tǒng)的影響而發(fā)生變化,如果未及時(shí)做好適配工作,會(huì)導(dǎo)致sdk綁定到錯(cuò)誤的devicetoken,從而影響apn推送。請(qǐng)各位開(kāi)發(fā)者根據(jù)當(dāng)前運(yùn)行環(huán)境做出相應(yīng)的更新與優(yōu)化,以保障用戶在ios13系統(tǒng)上有更好的使用體驗(yàn)。
在xcode11、ios13運(yùn)行時(shí)"[devicetoken description]",情況如下圖所示:
在xcode11、ios12或xcode10及以下版本運(yùn)行時(shí)"[devicetoken
description]",情況如下圖所示:
針對(duì)開(kāi)發(fā)者注冊(cè)devicetoken的不同場(chǎng)景,個(gè)推提出了相應(yīng)的ios推送sdk適配方案。
若使用“[getuisdk
registerdevicetokendata:]”方法來(lái)注冊(cè)devicetoken,如下圖所示:
適配方案(推薦):因老版?zhèn)€推推送sdk未適配xcode11、ios13變化,可以選擇升級(jí)個(gè)推sdk版本至 “2.4.1.0”(docs.getui.com/getui/mobil…)。此方案的代碼處理最為簡(jiǎn)便。
若使用“[getuisdk registerdevicetoken:]”方法來(lái)注冊(cè)devicetoken,如下圖所示:
適配方案:因獲取devicetoken字符串的過(guò)程就是將nsdata轉(zhuǎn)換成hexstring,在"[devicetoken description]"發(fā)出變化后,就需要開(kāi)發(fā)者修改轉(zhuǎn)換方案,參考代碼如下圖:
devicetoken的適配對(duì)ios推送sdk的集成至關(guān)重要。請(qǐng)大家盡早選擇相應(yīng)的適配方案,以更好地兼容蘋果新版本。如有任何問(wèn)題,歡迎與我們進(jìn)行聯(lián)系。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://segmentfault.com/a/1190000020508145