iPhone的UDID与push中使用的device token的关系
1,device token到底是什么呢?
結(jié)論:
device token是對(duì)APNs來說,設(shè)備的標(biāo)識(shí)符,與app無(wú)關(guān)。device token不同于UIDevice的uniqueIdentifier(即UDID),因?yàn)槌鲇诎踩碗[私原因,當(dāng)設(shè)備被擦除后,token發(fā)生變化。
?
2,不同的app的device token相同么?
結(jié)論:
同一臺(tái)設(shè)備上,不同的app獲得的device token是一樣的,device token與app無(wú)關(guān)。
?
3,一個(gè)設(shè)備會(huì)產(chǎn)生多個(gè)device token么?
結(jié)論:
一個(gè)設(shè)備可能會(huì)產(chǎn)生多個(gè)device token。
有以下兩種情況:
(1)設(shè)備擦除過,token變化。
(2)設(shè)備同時(shí)裝過development和distribution的程序,同一個(gè)設(shè)備在development和distribution兩種情況下,收到的device token是不同的。
4,一個(gè)device token可能對(duì)應(yīng)多個(gè)UDID么?
結(jié)論:
一個(gè)device token也可能對(duì)應(yīng)多個(gè)UDID。
device token的產(chǎn)生:
device token是每次建立TLS連接時(shí),APNS通過每臺(tái)正常設(shè)備唯一的設(shè)備證書(unique device certificate),并用令牌密鑰(token key)加密生成的。
每臺(tái)設(shè)備獨(dú)有的設(shè)備證書和密鑰的來歷:
正常的設(shè)備刷系統(tǒng)之后,是沒有設(shè)備證書和密鑰的。這就是為什么設(shè)備會(huì)需要連接到iTunes上進(jìn)行激活——激活過程中,Apple會(huì)分配給每臺(tái)設(shè)備獨(dú)一無(wú)二的設(shè)備證書(device certificate)和密鑰(key) 。
iPhone OS3.X 使用blacksn0w進(jìn)行解鎖 的過程,是不經(jīng)過iTunes的,而blacksn0w本身又不生成對(duì)應(yīng)的設(shè)備證書(device certificate)和密鑰(key) ,因此這樣解鎖完的iPhone根本不可能與APNS建立任何的TLS鏈接,不具備Push功能。當(dāng)多個(gè)iPhone的設(shè)備證書(device certificate)完全一致時(shí),就存在一定幾率使得多個(gè)iPhone獲得相同的設(shè)備令牌(device token)。當(dāng)這些相同設(shè)備令牌(device token)的iPhone上啟用了同一個(gè)應(yīng)用程序的Push的時(shí)候,就極有可能出現(xiàn)彼此間的Push串發(fā)的現(xiàn)象。
轉(zhuǎn)載于:https://www.cnblogs.com/417460188dy/p/3220888.html
總結(jié)
以上是生活随笔為你收集整理的iPhone的UDID与push中使用的device token的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VerilogHDL8位串行乘法器的分析
- 下一篇: android 开发时遇到的环境问题3-