iOS: 獲取不變的UDID

iOS唯一標(biāo)識的歷史歷程

iOS 6.0

在iOS6.0以前,是使用uniqueIdentifier來獲取手機(jī)的唯一標(biāo)識,后來蘋果感覺這樣會泄露用戶隱藏,就封掉了這個方法;

iOS 6.0系統(tǒng)新增了兩個用于替換uniqueIdentifier的接口

  • identifierForVendor
  • advertisingIdentifier

但是 identifierForVendor 會在卸載后再重裝,就會改變,所以就不能當(dāng)做手機(jī)的唯一標(biāo)識使用。
后來,未來解決問題,程序員們想到了使用WiFi的mac地址來作為手機(jī)的唯一標(biāo)識。很歡樂的使用著·······

但是············

iOS 7.0

iOS 7中蘋果再一次無情的封殺mac地址,使用之前的方法獲取到的mac地址全部都變成了02:00:00:00:00:00

聰明的程序員們,想到了用廣告標(biāo)示符作為手機(jī)唯一的標(biāo)識。但是·······
只要用戶重置了廣告標(biāo)示符以后,還是會獲得一個新的廣告標(biāo)識。這樣一來,廣告標(biāo)識付也不可以用了。。。。

這下該如何是好呢?

接下來就是介紹解決方法的時候了

使用KeyChain來保存獲取到的唯一標(biāo)示符呢,這樣以后即使APP刪了再裝回來,也可以從KeyChain中讀取回來,當(dāng)然也不會害怕重置了廣告標(biāo)示符

FCUUID

在github搜一下UDID,發(fā)現(xiàn)這個東東的星星最多??磥硪幌聄eadme,添加到自己的項目中測試,可用

設(shè)備標(biāo)識在 完全抹掉iPhone的時候,仍然會變。學(xué)長只能幫到這了····

使用方法

1、點擊下載所需文件
因為FCUUID需要依靠該作者的另外一個文件。所以這里有就把所有的文件放在了一起,供大家下載使用。
作者 githun地址 https://github.com/fabiocaccamo/FCUUID

2、在項目中添加 Security.framework

3、導(dǎo)入頭文件

 #import "FCUUID.h"

接下來就可以歡快的使用了

FCUUID提供的類方法

// 每次運行應(yīng)用都會變
+(NSString *)uuid;

//changes each time (no persistent), but allows to keep in memory more temporary uuids
+(NSString *)uuidForKey:(id<NSCopying>)key;

// 每次運行應(yīng)用都會變
+(NSString *)uuidForSession;

// 重新安裝的時候會變
+(NSString *)uuidForInstallation;

// 卸載后重裝會變
+(NSString *)uuidForVendor;

// 抹掉iPhone的時候才會變,適合做唯一標(biāo)識
+(NSString *)uuidForDevice;

個人測試數(shù)據(jù)

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容