導航:首頁 > 器材知識 > 獲取設備唯一標識是什麼意思

獲取設備唯一標識是什麼意思

發布時間:2024-07-11 16:20:07

① ios 怎麼在程序里獲取唯一標識

生成iOS設備唯一標示符的方法是使用iOS設備的Media Access Control(MAC)地址。一個MAC地址是一個唯一的號碼,它是物理網路層級方面分配給網路適配器的。這個地址蘋果還有其他的名字,比如說是硬體地址(Hardware Address)或是Wifi地址,都是指同樣的東西。
有很多工程和框架都使用這個方法來生成唯一的設備ID。比如說ODIN。然而,蘋果並不希望有人通過MAC地址來分辨用戶,所以如果在iOS7系統上查詢MAC地址,它現在只會返回02:00:00:00:00:00。
現在蘋果明確的表明應該使用-[UIDevice identifierForVendor]或是-[ASIdentifierManager advertisingIdentifier]來作為你框架和應用的唯一標示符。坦白的來說,應對這些變化也不是那麼的難,見以下代碼片段:
NSString *identifierForVendor = [[UIDevice currentDevice].identifierForVendor UUIDString];
NSString *identifierForAdvertising = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
每種方法都適配一種特別的用法:
identifierForVendor對供應商來說是唯一的一個值,也就是說,由同一個公司發行的的app在相同的設備上運行的時候都會有這個相同的標識符。然而,如果用戶刪除了這個供應商的app然後再重新安裝的話,這個標識符就會不一致。
advertisingIdentifier會返回給在這個設備上所有軟體供應商相同的 一個值,所以只能在廣告的時候使用。這個值會因為很多情況而有所變化,比如說用戶初始化設備的時候便會改變。

② 蘋果ios多開怎麼識別唯一標識

IOS系統中,獲取設備唯一標識的方法有很多:

一.UDID(Unique Device Identifier)

UDID的全稱是Unique Device Identifier,顧名思義,它就是蘋果IOS設備的唯一識別碼,它由40個字元的字母和數字組成。

二.UUID(Universally Unique Identifier)

UUID是Universally Unique Identifier的縮寫,中文意思是通用唯一識別碼.

三.MAC Address

四.OPEN UDID

五.廣告標示符(IDFA-identifierForIdentifier)

六.Vindor標示符 (IDFV-identifierForVendor)

Vendor是CFBundleIdentifier(反轉DNS格式)的前兩部分。來自同一個運營商的應用運行在同一個設備上,此屬性的值是相同的;不同的運營商應用運行在同一個設備上值不同。

經測試,只要設備上有一個tencent的app,重新安裝後的identifierForVendor值不變,如果tencent的app全部刪除,重新安裝後的identifierForVendor值改變。

但是很不幸,上面所有這些表示設備唯一號的標識,在IOS7中要麼被禁止使用,要麼重新安裝程序後兩次獲取的標識符不一樣。

由於IOS系統存儲的數據都是在sandBox裡面,一旦刪除App,sandBox也不復存在。好在有一個例外,那就是keychain(鑰匙串)。

通常情況下,IOS系統用NSUserDefaults存儲數據信息,但是對於一些私密信息,比如密碼、證書等等,就需要使用更為安全的keychain了。

keychain里保存的信息不會因App被刪除而丟失。所以,可以利用這個keychain這個特點來保存設備唯一標識。

那麼,如何在應用里使用使用keyChain呢,我們需要導入Security.framework ,keychain的操作介面聲明在頭文件SecItem.h里。

直接使用SecItem.h里方法操作keychain,需要寫的代碼較為復雜,我們可以使用已經封裝好了的工具類KeychainItemWrapper來對keychain進行操作。

KeychainItemWrapper是apple官方例子「GenericKeychain」里一個訪問keychain常用操作的封裝類,在官網上下載了GenericKeychain項目後,

只需要把「KeychainItemWrapper.h」和「KeychainItemWrapper.m」拷貝到我們項目,並導入Security.framework 。KeychainItemWrapper的用法:

/** 初始化一個保存用戶帳號的KeychainItemWrapper */

KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"Account Number"

accessGroup:@"YOUR_APP_ID_HERE.com.yourcompany.AppIdentifier"];

//保存數據

[wrapper setObject:@"<帳號>" forKey:(id)kSecAttrAccount];

[wrapper setObject:@"<帳號密碼>" forKey:(id)kSecValueData];

//從keychain里取出帳號密碼

NSString *password = [wrapper objectForKey:(id)kSecValueData];

//清空設置

[wrapper resetKeychainItem];

其中方法「- (void)setObject:(id)inObject forKey:(id)key;」里參數「forKey」的值應該是Security.framework 里頭文件「SecItem.h」里定義好的key,用其他字元串做key程序會出錯!

閱讀全文

與獲取設備唯一標識是什麼意思相關的資料

熱點內容
地暖回水閥門沒有怎麼放氣 瀏覽:868
防雷裝置檢測合格說明 瀏覽:824
騎車如何避免老看儀表 瀏覽:948
南京閥門廠成都銷售處 瀏覽:823
重慶江津五金機電城 瀏覽:53
網紅電動工具批發 瀏覽:866
物理實驗器材有哪些圖案 瀏覽:952
超聲波除油劑怎麼處理 瀏覽:449
無錫錫山閥門怎麼樣 瀏覽:157
大河電動車後輪軸承怎麼拆卸 瀏覽:2
鎂條是什麼樣的儀器 瀏覽:132
摩托車車輪軸承處怎麼保護 瀏覽:835
什麼單位招聘機械專業本科生 瀏覽:429
設備驅動里事感嘆號是怎麼解決 瀏覽:9
多線切割設備是什麼 瀏覽:751
自動垂直伸縮裝置 瀏覽:311
庫倫用來做實驗的裝置 瀏覽:443
刮泥刮渣設備哪裡有 瀏覽:123
草原旅遊拍照用什麼器材 瀏覽:460
我家地暖怎麼沒有閥門 瀏覽:504