下載網址:https://github.com/ylechelle/OpenUDID
OpenUDID測試結果分析
1)優點:
a、沒有用到MAC地址。MAC地址跟UDID一樣,存在隱私問題。不能保證以後不會禁用MAC地址。
b、不同設備能夠獲取各自唯一的識別碼,保證了唯一性,可以用於以往UDID的相關用途。
c、從代碼分析OpenUDID的獲取,識別碼獲取方便並且保存謹慎
OpenUDID生成唯一識別碼的代碼:
當設備裝上第一個使用OpenUDID方案的應用程序第一次調試時,會生成一個唯一識別碼,追加8為隨機數保持了40位的UDID,並且利用了NSUserDefaults類將識別碼進行了保存。
但是當應用刪除,UserDefaults同樣會被清空,為了避免重新生成唯一識別碼,該方案還使用到了UIPasteboard類(設備剪切板),將識別碼同時保存到了UIPasteboard中。
d、當設備上安裝第二個使用了OpenUDID方案的應用程序,將會從UIPasteboard中獲取唯一識別碼,這裡取到的就是之前第一個應用保存到UIPasteboard中的。【前提:設備上有一個使用了OpenUDID的應用存在】
2)缺點
a、當將設備上所有使用了OpenUDID方案的應用程序刪除,且設備關機重啟,xcode徹底清除並重啟,重裝應用程序去獲取OpenUDID,此時OpenUDID變化,與之前不一樣了,從測試結果可看出。
b、由缺點1分析,所有OpenUDID應用卸載後,由UIPasteboard保存的數據即被清除,重裝故會重新獲取新的OpenUDID。
那麼當因為用戶干預或者惡意程序,致使UIPasteboard數據清除,從而導致OpenUDID被刪除,重裝也會獲取新的OpenUDID。