參考文章 iOS唯一標(biāo)識(shí)符(IDFAIDFV)

創(chuàng)新互聯(lián)建站是一家專業(yè)提供宣恩企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為宣恩眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
依賴: AdSupport.framework
系統(tǒng)支持: iOS6及以上系統(tǒng)
獲取方式: [ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString
定義: 由數(shù)字和字母組成的用來標(biāo)識(shí)唯一設(shè)備的字符串。
特點(diǎn):
依賴: UIKit.framework
系統(tǒng)支持: iOS6及以上系統(tǒng)
獲取方式: [UIDevice currentDevice].identifierForVendor.UUIDString
定義: 由數(shù)字和字母組成的用來標(biāo)識(shí)唯一設(shè)備的字符串。
特點(diǎn): 根據(jù)vendor的值,如果vendor相同,則返回同一字符串;如果vendor不同,則返回不同的字符串。
vendor解釋: 英文解釋為賣家,小販。根據(jù)xcode文檔解釋,正常情況下,會(huì)根據(jù)App Store提供的數(shù)據(jù)進(jìn)行判斷。但是如果app不是通過app store進(jìn)行安裝的(如企業(yè)應(yīng)用或開發(fā)調(diào)試階段),那么會(huì)根據(jù)bundle ID判斷。
判斷準(zhǔn)則:
如:com.example.app1和com.example.app2,只有最后的后綴不同,所以會(huì)產(chǎn)生相同的vendor ID
在這里,還需要注意的一點(diǎn)就是:如果用戶卸載了同一個(gè)vendor對(duì)應(yīng)的所有程序,然后在重新安裝同一個(gè)vendor提供的程序,此時(shí)identifierForVendor會(huì)被重置。
方法一:通過Windows下的iTunes
1、數(shù)據(jù)線連接iPhone手機(jī),在Windows下打開iTunes,在 iPhone 管理界面下點(diǎn)擊“序列號(hào)”查看自己的 UUID 標(biāo)識(shí)符。
2、此時(shí)點(diǎn)擊菜單-編輯-復(fù)制
3、新建一個(gè)文檔或文本文件,粘貼就會(huì)出現(xiàn)類似于3cfe09dc0a545766ed912db6c32a65b37cc06ae5這就是iPhone手機(jī)的UUID
方法二:通過XCode的Organizer
1、點(diǎn)擊XCode的菜單-Windows-Organizer,會(huì)出現(xiàn)如此界面
2、直接復(fù)制、粘貼就可以了
方法三:通過代碼實(shí)現(xiàn)
對(duì)于IOS開發(fā)者通過以下代碼實(shí)現(xiàn)
-(NSString*) uuid {
CFUUIDRef puuid = CFUUIDCreate( nil );
CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString);
CFRelease(puuid);
CFRelease(uuidString);
return [result autorelease];
}
以下獲取 uuidString 的方法,每次重啟都會(huì)改變。
但是項(xiàng)目的要求是不變,并且刪除app 只有也有有保留的需求。顯然這個(gè)無法滿足我們的需求。
使用KeyChain保存到系統(tǒng)鑰匙串中,然后再去獲取相應(yīng)的值,就可以保證刪除app新裝的app也能獲取到第一次安裝存儲(chǔ)的值。顯然是可以滿足我們的需求的。
下面使用 KeychainAccess 的第三方類庫來實(shí)現(xiàn)。
開箱即用!
使用方法:
大功告成!
蘋果設(shè)備的UDID可以直接通過電腦軟件iTunes查看。
參考工具和原料:
1.一臺(tái)MacBook Air。
2.一臺(tái)iPod Touch。
查看方法:
1.將一臺(tái)iPod Touch連接MacBook Air,打開軟件iTunes查看。
2.點(diǎn)擊序列號(hào),查看當(dāng)前設(shè)備UDID(一行由數(shù)字和字母組成的字符串)。
1.安裝應(yīng)用到手機(jī)A,獲取UUID,UUID字符串是:5115e5a0a5464fcca1445fdb73e528b8,同時(shí)把UUID保存到鑰匙串。
2.卸載應(yīng)用重新安裝,獲取鑰匙串里保存的UUID是否有值。通過測(cè)試驗(yàn)證,鑰匙串里有對(duì)應(yīng)保存的UUID,并且UUID字符串是:5115e5a0a5464fcca1445fdb73e528b8(同第1步保存的一樣)。
3.反復(fù)卸載、安裝進(jìn)行多次,得到的結(jié)果(同第2步一樣)。
4.恢復(fù)出廠設(shè)置(跟著提示進(jìn)行就行,有點(diǎn)繁瑣)
4.1把手機(jī)恢復(fù)出廠設(shè)置(抹掉所有內(nèi)容和設(shè)置),抹掉時(shí)不進(jìn)行備份操作,選擇立即抹掉。
4.2進(jìn)行重新設(shè)置手機(jī),設(shè)置手機(jī)時(shí)有一步驟是選擇恢復(fù)備份的界面,選擇設(shè)置新的iPhone。(就是不選擇恢復(fù)備份的iCloud備份的數(shù)據(jù))。
5.完成第4步以后,手機(jī)恢復(fù)正常使用。在進(jìn)行安裝應(yīng)用到手機(jī)A。這時(shí),通過測(cè)試驗(yàn)證鑰匙串里已經(jīng)沒有了之前保存的UUID。這時(shí)是重新獲取一個(gè)新的UUID進(jìn)行保存到Keychain(鑰匙串),UUID字符串是:e56b79c897c847dc82461bad40937cbd。
6.這時(shí)把iCloud里的鑰匙串打開,進(jìn)行iCloud數(shù)據(jù)備份。
7.再次進(jìn)行恢復(fù)出廠設(shè)置(換個(gè)方式進(jìn)行)
7.1把手機(jī)恢復(fù)出廠設(shè)置(抹掉所有內(nèi)容和設(shè)置),抹掉時(shí)進(jìn)行備份操作,備份以后進(jìn)行抹掉。
7.2進(jìn)行重新設(shè)置手機(jī),設(shè)置手機(jī)時(shí)有一步驟是選擇恢復(fù)備份的界面,這時(shí)選擇恢復(fù)iCloud備份的數(shù)據(jù)。
8.在次進(jìn)行安裝應(yīng)用到手機(jī)A。這時(shí),通過測(cè)試驗(yàn)證,鑰匙串里有對(duì)應(yīng)保存的UUID,并且UUID字符串是:e56b79c897c847dc82461bad40937cbd(同第5步保存的一樣)。
1.打開手機(jī)的iCloud云盤進(jìn)行數(shù)據(jù)備份
2.打開iCloud里的鑰匙串選項(xiàng)
3.在重新恢復(fù)出廠設(shè)置的時(shí)候(抹掉所有內(nèi)容和設(shè)置),要選擇iCloud備份的數(shù)據(jù)后,在進(jìn)行抹掉操作。
4.在重新設(shè)置手機(jī)的時(shí)候要保證填寫iCloud備份是時(shí)對(duì)應(yīng)的iCloud賬號(hào)(第3步的iCloud賬號(hào))。
5.要選擇iCloud備份數(shù)據(jù)恢復(fù)設(shè)置。
6.不能對(duì)手機(jī)進(jìn)行刷機(jī)操作。
(通過測(cè)試,我個(gè)人認(rèn)為,手機(jī)本人刷機(jī)后(非一般操作),重新開機(jī),填寫iCloud賬號(hào)同一個(gè)的情況下,也可以恢復(fù)鑰匙串,得到用戶應(yīng)用和設(shè)備的唯一性)。
方法一:通過Windows下的iTunes
1
數(shù)據(jù)線連接iPhone手機(jī),在Windows下打開iTunes,在 iPhone 管理界面下點(diǎn)擊“序列號(hào)”查看自己的 UUID 標(biāo)識(shí)符。
2
此時(shí)點(diǎn)擊菜單-編輯-復(fù)制
3
新建一個(gè)文檔或文本文件,粘貼就會(huì)出現(xiàn)類似于
3cfe09dc0a545766ed912db6c32a65b37cc06ae5
這就是iPhone手機(jī)的UUID
END
方法二:通過XCode的Organizer
1
點(diǎn)擊XCode的菜單-Windows-Organizer,會(huì)出現(xiàn)如此界面
2
直接復(fù)制、粘貼就可以了
END
方法三:通過代碼實(shí)現(xiàn)
對(duì)于IOS開發(fā)者通過以下代碼實(shí)現(xiàn)
-(NSString*) uuid {
CFUUIDRef puuid = CFUUIDCreate( nil );
CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString);
CFRelease(puuid);
CFRelease(uuidString);
return [result autorelease];
}
分享文章:ios開發(fā)獲取uuid,ios開發(fā)獲取接口參數(shù)
分享URL:http://chinadenli.net/article29/dsgcjjh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、定制開發(fā)、定制網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站排名、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)