2017.4.5 關(guān)于手機的唯一標識

1.iOS 7后,無法獲取手機的imei碼

iOS 2.0版本以后UIDevice提供一個獲取設(shè)備唯一標識符的方法uniqueIdentifier,通過該方法我們可以獲取設(shè)備的序列號,

這個也是目前為止唯一可以確認唯一的標示符。好景不長,因為該唯一標識符與手機一一對應,蘋果覺得可能會泄露用戶隱私,

所以在iOS5之后該方法就被廢棄掉了,因此iOS5以后不能獲取手機IMEI,但是也是可以通過私有API獲取手機的IMEI號的,

但是通過蘋果私有API獲取IMEI號,上架蘋果商店會被拒掉的。

2.iOS 7后,mac地址會返回固定的值

3.可以通過獲取identifierForVendor和identifierForAdvertising來標示手機


1.獲取identifierForVendor? ? NSString *identifierForVendor = [[UIDevice currentDevice].identifierForVendor UUIDString];? ??

NSLog(@"identifierForVendor == %@",identifierForVendor);? ?

(

a、大部分正版的手機在軟件卸載了,然后重新安裝的情況下還是會保持和原先保存同一個值。

b、我一直以為這個方法沒問題的同時,在某一天,突然有個測試說:“我軟件卸載了,但是數(shù)據(jù)都清空了。。。。怎么回事啊。”,后來發(fā)現(xiàn) you right。有些越獄或者美版的手機 在卸載后都會重現(xiàn)獲取數(shù)據(jù)。------我的天哪。。。。)


?2.獲取identifierForAdvertising(廣告標示符)? ? a.添加框架? ? AdSupport.framework? ? b.添加頭文件? ? #importc.使用語句

NSString *identifierForAdvertising = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

NSLog(@"identifierForAdvertising == %@",identifierForAdvertising);

d.advertisingIdentifier介紹

廣告標示符是由系統(tǒng)存儲著的。不過即使這是由系統(tǒng)存儲的,但是有幾種情況下,會重新生成廣告標示符。如果用戶完全重置系統(tǒng)((設(shè)置程序 ->通用 -> 還原 ->還原位置與隱私),這個廣告標示符會重新生成。

另外如果用戶明確的還原廣告(設(shè)置程序->通用 -> 關(guān)于本機 ->廣告 ->還原廣告標示符),那么廣告標示符也會重新生成。

關(guān)于廣告標示符的還原,有一點需要注意:如果程序在后臺運行,此時用戶“還原廣告標示符”,然后再回到程序中,此時獲取廣告標示符并不會立即獲得還原后的標示符。必須要終止程序,然后再重新啟動程序,才能獲得還原后的廣告標示符。之所以會這樣,因為ASIdentifierManager是一個單例。


blog.csdn.net/u014220518/article/details/50509559


3.通過uuid和keychain存儲手機的唯一標識.(借鑒人家封裝好的keychain類,實現(xiàn)存儲uuid的目的)

源碼連接github.com/v2panda/PDKeyChain

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

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

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