UDID 全名是 Unique Device Identifier 宵凌,設(shè)備唯一標(biāo)識(shí)符蔬顾。適合設(shè)備有關(guān)的,而且只和設(shè)備有關(guān)祖灰。有點(diǎn)類似MAC地址。UDID是一個(gè)40位的16進(jìn)制序列畔规。
可以在itunes中獲得局扶,或者iphone插入xcode時(shí),在xcode中獲得叁扫。
但是 xcode5 以后三妈,進(jìn)制在代碼中獲得UDID。
現(xiàn)在的SDK提供了一個(gè)參數(shù) identifierForVendor 來(lái)代替原來(lái)的UDID的作用
NSUUID *uuid = [UIDevice currentDevice].identifierForVendor;
NSLog(@"uuid 1 = %@“,uuid.UUIDString);
但是此時(shí)的uuid.uuidString 不是真正的UDID陌兑,是應(yīng)用和設(shè)備兩者的結(jié)合體沈跨。是一個(gè)應(yīng)用加設(shè)備綁定產(chǎn)生的標(biāo)識(shí)符。identifierForVendor= 某應(yīng)用 + 某設(shè)備兔综。 也就是說(shuō)饿凛,APP的開發(fā)者沒有辦法區(qū)分某一臺(tái)設(shè)備,而是只能識(shí)別某一個(gè)應(yīng)用在某臺(tái)設(shè)備上软驰。
UUID
全稱 University Unique Identifier 涧窒,通用唯一標(biāo)識(shí)符。是一個(gè)32位的16進(jìn)制序列锭亏。使用橫線來(lái)連接8-4-4-4-12.
UUID 在某一時(shí)空下是唯一的纠吴。比如在當(dāng)前這一秒,全世界產(chǎn)生的UUID都是不一樣的慧瘤。當(dāng)前同一臺(tái)設(shè)備產(chǎn)生的UDID也是不一樣的戴已。
for (int i = 0; i < 10; i++){
NSString *uuid = [NSUUID UUID].UUIDString;
NSLog(@"uuid 2 = %@",uuid);
}
通過(guò)運(yùn)行程序可以發(fā)現(xiàn)固该,循環(huán)10次,每一次打印的值都是不一樣的糖儡,當(dāng)然循環(huán)的再多伐坏,這個(gè)值永遠(yuǎn)不會(huì)出現(xiàn)兩個(gè)一樣的值。所以從某種程序上來(lái)說(shuō)握联,UUID跟你的設(shè)備沒有什么關(guān)系了
在很早之前桦沉,蘋果宣稱如果第三方應(yīng)用開發(fā)者繼續(xù)分享或者使用iPhone、Mac金闽、AppleWatch的UDID的話纯露,那么他們的應(yīng)用將會(huì)禁止上架。為什么蘋果要在應(yīng)用中禁止使用呢代芜?那是因?yàn)殡[私問(wèn)題埠褪。比如我開發(fā)了5款A(yù)pp,很多用戶都下載了這5款A(yù)pp并使用蜒犯。如果我能輕易的獲取這些用戶的UDID组橄,其實(shí)我能拼湊出用戶的很多信息。由于UDID本身的隱私屬性罚随,之前常常用來(lái)做第三方統(tǒng)計(jì)和其他的目的玉工。當(dāng)然現(xiàn)在也有人使用MAC地址來(lái)識(shí)別設(shè)備,因?yàn)镸AC地址也唯一的識(shí)別了一臺(tái)設(shè)備并且不會(huì)被修改淘菩,不知道以后蘋果會(huì)對(duì)此如何操作遵班。