iOS獲取裝置唯一標識

2021-08-01 04:36:32 字數 1356 閱讀 8651

目前市面應用普遍採用使用者體驗,涉及到部分重要功能時候才提醒使用者註冊賬戶,而使用者之前的操作,比如收藏,點讚,關注等內容需要同時關聯進註冊的賬戶,那麼根據什麼記錄使用者的操作資訊就尤為重要。下面就列出我之前收集資料總結的方案。

udid(unique device identifier),ios 裝置的唯一識別碼,是乙個40位十六進製制序列(越獄的裝置通過某些工具可以改變裝置的 udid),流動網路可以利用 udid 來識別移動裝置。

許多開發者把 udid 跟使用者的真實姓名、密碼、住址、其它資料關聯起來,網路窺探者會從多個應用收集這些資料,然後順藤摸瓜得到這個人的許多隱私資料,同時大部分應用確實在頻繁傳輸 udid 和私人資訊。 為了避免集體訴訟,蘋果最終決定在 ios 5 的時候,將這一慣例廢除。

現在應用試圖獲取 udid 已被禁止且不允許上架。

mac(medium / media access control)位址,用來表示網際網路上每乙個站點的標示符,是乙個六個位元組(48位)的十六進製制序列。前三個位元組是由 ieee 的註冊管理機構 ra 負責給不同廠家分配的」編制上唯一的標示符(organizationally unique identifier)」,後三個位元組由各廠家自行指派給生產的介面卡介面,稱為擴充套件標示符。

mac 位址在網路上用來區分裝置的唯一性,接入網路的裝置都有乙個mac位址,他們肯定都是唯一的。一部 iphone 上可能有多個 mac 位址,包括 wifi 的、sim 的等,但是 itouch 和 ipad 上就有乙個 wifi 的,因此只需獲取 wifi 的 mac 位址就好了。一般會採取 md5(mac 位址 + bundleid)獲取唯一標識。

但是 mac 位址和 udid 一樣,存在隱私問題, ios 7 之後,所有裝置請求 mac 位址會返回乙個固定值,這個方法也不攻自破了。

udid 被棄用後,廣大開發者需要尋找乙個可以替代的 udid,並且不受蘋果控制的方案,由此,openudid 成為了當時使用最廣泛的開源 udid 代替方案。openudid 利用乙個非常巧妙的方法在不同程式間儲存標示符:在貼上板中用了乙個特殊的名稱來儲存標示符,通過這種方法,其他應用程式也可以獲取。

蘋果在 ios 7 之後對貼上板做了限制,導致同乙個裝置上的應用間,無法再共享乙個 openudid。

uuid(universally unique identifier),通用唯一標示符,是乙個32位的十六進製制序列,使用小橫線來連線:8-4-4-4-12,通過 nsuuid(ios 6 之後)[nsuuid uuid].uuidstring 或者 cfuuid(ios 2 之後) cfbridgingrelease(cfuuidcreatestring(kcfallocatordefault, cfuuidcreate(kcfallocatordefault))) 來獲取,但是每次獲取的值都不一樣,需要自己儲存。

IOS獲取裝置唯一標識

wwdc 2013已經閉幕,ios7 beta隨即發布,介面之難看無以言表.簡直就是山寨android。更讓ios程式猿悲催的是,裝置唯一標識的mac address在ios7中也失效了。ios系統中,獲取裝置唯一標識的方法有很多 一.udid unique device identifier ud...

獲取iOS裝置唯一標識

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

獲取iOS裝置唯一標識

在開發過程中,我們經常會被要求獲取每個裝置的唯一標示,以便後台做相應的處理。我們來看看有哪些方法來獲取裝置的唯一標示,然後再分析下這些方法的利弊。具體可以分為如下幾種 1 uuid 2 idfa 3 idfv 4 mac 5 uuid 下面我們來具體分析下每種獲取方法的利弊 什麼是udid udid...