蘋果移動設備唯一標識的變化

蘋果移動設備唯一標識的變化

蘋果設備 iphone,ipad,itouch

這些移動設備都可以叫手持移動設備,作爲一個app開發者,或者是一個app廣告推廣者,都想知道我的app,我推廣的advisement有多少設備安裝和使用了。

這就引出了想要知道這個設備的唯一標識,app是安裝在設備上的,所以準確定位設備變成的很重要的需求。

因爲沒開發過 ios4之前的app,所以這裏討論的年代最早從ios4開始。

先介紹唯一標識界的老大哥。

網卡MAC地址

0A-FC-A0-00-FD-8A

這種12位英數字標識代表了一塊網卡的物理地址,在網絡通訊層它有現實的意義,保證每個發包能準確的發送到對應的網卡上。

對於安裝了網卡的設備來說也唯一標識了這個設備,它是最容易被想到來做唯一標識的數據。當然在android山寨手機上同一批次的手機用了同一個mac地址的也大大存在,但是針對ios系統來說 MAC 無疑是牢靠的,誰叫只有蘋果一家出蘋果呢。:) — 閹割版 就是沒有wifi模塊的3gs 沒wifi 網卡,取不到MAC很正常

很可惜在ios 7中 ,它將會獲取不到,或者獲取錯誤的爲 02-00-00-00-00-00, 具體的可以參看 ios7的更新說明。

ios4 ~ ios6

設備唯一標識

[[UIDevice currentDevice] uniqueIdentifier]

很熟悉的使用方式,也是最準確的,這個參數返回32位的英數字作爲設備的唯一標識,不管你的設備是重裝系統了,還是越獄了,不管是抹掉數據了,還是不小心摔了,返回的都是牢靠的一個唯一標識 不和任何其他蘋果設備的標識重複。

但是,但是,但是因爲它太牢靠了,有人告訴蘋果,這個標識泄露了個人隱私,因爲它太精準定位了。

所以,所以,所以它被蘋果廢了。從ios5開始,就廢了,當然它最終的被蘋果kill掉和拒絕上架,是在 2013年初的申明中,實際操作是在2013年4月開始,所有調用了這個API的APP都無法上架。

ios2~ ios4

OPENUDID

在蘋果廢掉了 uniqueIdentifier之後,聰明的開發者用自己的聰明才智開發了類uniqueIdentifier的庫,它叫 OpenUDID,不贅述了,它的性能幾乎和前輩 uniqueIdentifier一致,之所以說是幾乎,是因爲,如果你重裝os,恢復出廠設置等等操作之後,這個值它會變化。

ios2 ~ ios7

雙生俠IDFA & IDFV

在黑暗的只能使用mac和openudid的 ios5過去之後,蘋果終於良心發現,它發現不行,如果沒有了 uniqueIdentifier好多事情都很不方便。

所以他重新申明瞭2個API.

IDFA

對所有的開發者供應商,它都返回同一個值,但是它有openudid同樣的缺點,它可能會變。

參考使用:ASIdentifierManager/advertisingIdentifier

IDFV

對同一個開發者供應商開發的所有APPs,它返回的是同一個值。 如果是另外一個開發商的APP中去取這個值返回的是另外一個值。

參考使用:UIDevice/identifierForVendor

ios6 ~ ios7

轉載自:http://www.chilltouch.com/tags/openudid
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章