1.iOS 7后,無法獲取手機(jī)的imei碼
iOS 2.0版本以后UIDevice提供一個(gè)獲取設(shè)備唯一標(biāo)識符的方法uniqueIdentifier,通過該方法我們可以獲取設(shè)備的序列號住册,
這個(gè)也是目前為止唯一可以確認(rèn)唯一的標(biāo)示符员魏。好景不長,因?yàn)樵撐ㄒ粯?biāo)識符與手機(jī)一一對應(yīng)庄撮,蘋果覺得可能會泄露用戶隱私凹嘲,
所以在iOS5之后該方法就被廢棄掉了堂飞,因此iOS5以后不能獲取手機(jī)IMEI昼接,但是也是可以通過私有API獲取手機(jī)的IMEI號的爽篷,
但是通過蘋果私有API獲取IMEI號,上架蘋果商店會被拒掉的慢睡。
2.iOS 7后,mac地址會返回固定的值
3.可以通過獲取identifierForVendor和identifierForAdvertising來標(biāo)示手機(jī)
1.獲取identifierForVendor? ? NSString *identifierForVendor = [[UIDevice currentDevice].identifierForVendor UUIDString];? ??
NSLog(@"identifierForVendor == %@",identifierForVendor);? ?
(
a逐工、大部分正版的手機(jī)在軟件卸載了,然后重新安裝的情況下還是會保持和原先保存同一個(gè)值漂辐。
b泪喊、我一直以為這個(gè)方法沒問題的同時(shí),在某一天髓涯,突然有個(gè)測試說:“我軟件卸載了袒啼,但是數(shù)據(jù)都清空了。纬纪。蚓再。。怎么回事啊育八《酝荆”,后來發(fā)現(xiàn) you right髓棋。有些越獄或者美版的手機(jī) 在卸載后都會重現(xiàn)獲取數(shù)據(jù)。------我的天哪惶洲。按声。。恬吕。)
?2.獲取identifierForAdvertising(廣告標(biāo)示符)? ? a.添加框架? ? AdSupport.framework? ? b.添加頭文件? ? #importc.使用語句
NSString *identifierForAdvertising = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"identifierForAdvertising == %@",identifierForAdvertising);
d.advertisingIdentifier介紹
廣告標(biāo)示符是由系統(tǒng)存儲著的签则。不過即使這是由系統(tǒng)存儲的,但是有幾種情況下铐料,會重新生成廣告標(biāo)示符渐裂。如果用戶完全重置系統(tǒng)((設(shè)置程序 ->通用 -> 還原 ->還原位置與隱私)豺旬,這個(gè)廣告標(biāo)示符會重新生成。
另外如果用戶明確的還原廣告(設(shè)置程序->通用 -> 關(guān)于本機(jī) ->廣告 ->還原廣告標(biāo)示符)柒凉,那么廣告標(biāo)示符也會重新生成族阅。
關(guān)于廣告標(biāo)示符的還原,有一點(diǎn)需要注意:如果程序在后臺運(yùn)行膝捞,此時(shí)用戶“還原廣告標(biāo)示符”坦刀,然后再回到程序中,此時(shí)獲取廣告標(biāo)示符并不會立即獲得還原后的標(biāo)示符蔬咬。必須要終止程序鲤遥,然后再重新啟動(dòng)程序,才能獲得還原后的廣告標(biāo)示符林艘。之所以會這樣盖奈,因?yàn)锳SIdentifierManager是一個(gè)單例。
blog.csdn.net/u014220518/article/details/50509559
3.通過uuid和keychain存儲手機(jī)的唯一標(biāo)識.(借鑒人家封裝好的keychain類,實(shí)現(xiàn)存儲uuid的目的)