iOS5之后,原來(lái)獲取iPhone的DeviceId的接口:[UIDevice uniqueIdentifier] 被廢棄!
這個(gè)改動(dòng)會(huì)影響非常多的人,尤其是數(shù)據(jù)分析者。由于iPhone取IMEI困難(屬于私有方法),所以大多數(shù)應(yīng)用將DeviceId,也就是uniqueIdentifier作為IMEI來(lái)使用。如果這個(gè)接口被廢棄,那么,我們就需要尋求一個(gè)新的方式來(lái)標(biāo)識(shí)唯一的設(shè)備。
官方推薦的方法是,每個(gè)應(yīng)用內(nèi)創(chuàng)建一個(gè)UUID來(lái)作為唯一標(biāo)志,并將之存儲(chǔ),但是這個(gè)解決方法明顯不能接受!原因是,你每次創(chuàng)建的UUID都是不一樣的,意味著,你卸載后重新安裝這個(gè)軟件,生成的UUID就不一樣了,無(wú)法達(dá)到我們將之作為數(shù)據(jù)分析的唯一標(biāo)識(shí)符的要求。
現(xiàn)有的解決方案是,使用iPhone的Mac地址,因?yàn)镸ac地址也是唯一的。unix有系統(tǒng)調(diào)用可以獲取Mac地址。但是有些事情需要注意:
1.iPhone可能有多個(gè)Mac地址,wifi的地址,以及SIM卡的地址。一般來(lái)講,我們?nèi)n0的地址,因?yàn)樗莍Phone的wifi的地址,是肯定存在的。(例外情況依然有:市面上依然存在一部分聯(lián)通的閹割版無(wú)wifi的iPhone)
2.Mac地址涉及到隱私,不應(yīng)該胡亂將用戶的Mac地址傳播!所以我們需要將Mac地址進(jìn)行hash之后,才能作為DeviceId上傳。
?
網(wǎng)上已經(jīng)有現(xiàn)成的解決方案:
https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
