日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS设备唯一标示符的方案比较

發布時間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS设备唯一标示符的方案比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現有IOS設備唯一標示符的方案比較


UDID

[[UIDevice currentDevice] uniqueIdentfier]

iOS官方最早提供的UDID方案,根據某一公式,使用設備序列號、網卡地址等信息作為參數計算而來,iOS6之后該計算公式發生了改變。

該方法返回的結果在所有應用中都相同,并且卸載應用、刷機、還原設備均不會發生改變,是最為準確的設備唯一標示符。

iOS5之后,該方法被標記為廢棄!最終,在201351號之后,AppStore禁止任何使用該方法的應用上架。

iOS7中對外公開的API中已經移除了該方法!

網卡地址

通過Unix級別的API去獲取Wifi的網卡地址。

該方法屬于UDID替代方案中最為準確的一種,因為網卡地址不會因為刷機、還原設備而發生改變。故追求唯一性的廠商多選擇此種方案!

iOS7之后,應用已經無法獲取網卡地址,所以該方案在iOS7中也已經被廢棄。

OpenUDID

開源的一個UDID替代方案,原理是利用應用間的剪貼板共享和本地一些必要的緩存信息,讓多個應用間共享一個UUID

OpenUDID在官方廢棄UDID接口之后,受到廣泛的歡迎!可以說是現在大多數應用的UDID替代方法。

OpenUDID在刷機、還原設備后就會產生新的UDID,事實上,由于剪貼板的特殊性,如果所有使用了OpenUDID的應用被全部卸載之后,再次安裝的應用取到的OpenUDID將會是一個全新的值!

iOS7中,不同組的應用(即不同廠商)的應用之間不再能共享剪貼板間的數據!

同組(即同一廠商)應用的定義為:Info.plist中關于軟件唯一標示符的字段CFBundleIdentifier中的前兩段標識符(例如com.mycompany)相同。

固在iOS7中,OpenUDID也將慢慢失去它的意義。

保存在NSUserDefault中的UUID

iOS5UDID標為廢棄之后,官方提供的替代方案。即使用CFUUIDCreate生成一個UUID,并將之保存在NSUserDefault中,用它作為設備標識符。在iOS6之后,蘋果更推出NSUUID來替代CFUUIDCreate,但本質是一樣的。

UUID每次都會生成一個新的字符串,也就是說應用被卸載之后,就會被認為是一個新的設備,更不用提刷機、還原設備了。

故基本無人采用UUID的方案。

廠商唯一標識符identifierForVender

[[UIDevice currentDevice] identifierForVender]

iOS6中推出的UDID替代方案,該方法對于同一廠商的應用返回相同的值,不同廠商所得到的值不同。

該方案刷機、還原設備后,獲得值將會改變。同樣注意的是:如果同一廠商安裝的所有應用都被卸載后,新安裝的同一廠商的應用同樣也將獲得新的值,而不是原來的值!

由于不能跨廠商,并且軟件卸載后再安裝有改變的可能性,該方案也并沒有被廣大開發商接受。

廣告標識符advertisingIdentifier

[[ASIdentifierManager sharedManager] advertisingIdentifier];

iOS6中推出的另一款UDID替代方案,該方法對所有廠商的應用返回相同的值。同樣提供的是另一個APIadvertisingTrackingEnabled,該參數表示用戶是否希望廣告追蹤被限定,但該參數僅僅是個布爾值,用于表示用戶意愿,不影響advertisingIdentifier的讀取。

該方法由于是官方提供的,并且所有廠商的應用取到的值相同,所以相對接受度好些,但是由于僅在iOS6上適用,所以更多人還是選擇了OpenUDID的方案。

該方法刷機、還原設備后,獲得的值將會改變。此外,用戶如果通過設置->關于本機->廣告->還原廣告標識符,就可以重新生成一個新的值。

該方法是iOS7上目前官方允許的范疇內最為可接受的方案。

IMEI

iOS官方API無法獲得IMEI,或者說禁止獲取。故很少有人在iOS上去讀取IMEI。但IMEI作為設備唯一標識符是最為準確的方法之一!不會隨著刷機、還原設備而改變!

讀取IMEI的應用將會被AppStore拒絕!

同樣類似的方案有藍牙地址、iOS設備序列號(SerialNumbedr)等等。

總結

以上是生活随笔為你收集整理的IOS设备唯一标示符的方案比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。