ios獲取裝置的唯一標識的六種方式

2022-10-11 11:33:09 字數 1147 閱讀 3211

原文連線:

wwdc 2013已經閉幕,ios7 beta隨即發布,介面之難看無以言表...,簡直就是山寨android。

更讓ios程式猿悲催的是,裝置唯一標識的mac address在ios7中也失效了。

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格式)的前兩部分。來自同乙個運營商的應用執行在同乙個裝置上,此屬性的值是相同的;不同的運營商應用執行在同乙個裝置上值不同。

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

通常情況下,ios系統用nsuserdefaults儲存資料資訊,但是對於一些私密資訊,比如密碼、證書等等,就需要使用更為安全的keychain了。

那麼,如何在應用裡使用使用keychain呢,我們需要匯入security.framework ,keychain的操作介面宣告在標頭檔案secitem.h裡。

;//儲存資料

(id)ksecattraccount]

;(id)ksecvaluedata]

;//從keychain裡取出帳號密碼

nsstring *password =

(id)ksecvaluedata]

;//清空設定

;其中方法「- (void)setobject:(id)inobject forkey:(id)key;」裡引數「forkey」的值應該是security.framework 裡頭檔案「secitem.h」裡定義好的key,用其他字串做key程式會出錯!

ios獲取裝置的唯一標識的六種方式(二)

蘋果已經警告過我們uniqueidentifier將不能再使用了,並且提供了另外兩個可選的。但是在程式中該選擇使用哪個呢?本文不會回答這個問題,具體用哪個是由你來根據程式的目的來做決定的。下面我將列出ios中目前支援的,以及被廢棄的唯一標示符方法,並對其做出相應的解釋,希望你看了以後針對唯一標示符的...

獲取iOS裝置的唯一標識

1.已禁用 uidevice uniqueidentifier 2.mac位址不能再用來設別裝置 還有乙個生成ios裝置唯一標示符的方法是使用ios裝置的media access control mac 位址。乙個mac位址是乙個唯一的號碼,它是物理網路層級方面分配給網路介面卡的。這個位址蘋果還有其...

iOS 獲取裝置的唯一標識

從而避免手機陷入再次試用軟體的麻煩中。但是,在二手的 iphone 手機中卻再次產生問題。無論初次使用的是何種軟體,免費試用階段結束後 僅限新使用者享用的優惠條款將無法供手機的新主人再次使用。即使對 iphone 進行初始化操作,手機也會預設儲存各項資料,轉讓與 並不會改變 iphone 的使用狀態...