如何擷取ios裝置的唯一標識

來源:互聯網
上載者:User

標籤:blog   http   io   os   ar   使用   for   檔案   資料   

很多地方都會需要用到唯一標誌。

比如:

1. 我們相用一個裝置的唯一標誌當作使用者id,特別是網路遊戲,這樣就可以省去註冊的麻煩。

2. 想把app相關的檔案加密,密鑰哪裡來的?有些人可能會說hard code,但是hard code的key比較容易被破解。而去hard code祕密金鑰加密的檔案可以copy到其他裝置。比如遊戲的本地檔案儲存了一些遊戲相關的資料,那麼只要有一台機器購買100個金幣,然後就可以把本地檔案copy給其他裝置,其他裝置也可以有100金幣了,因為所有的裝置用的是同一個hard code密鑰。


如果我們可以擷取裝置唯一的標識比如一個id,那麼我們就可以用這個id當作使用者名稱,或者直接用這個id當作密鑰。這樣就會好很多。比如遊戲本地檔案就具有唯一性了,就算copy到其他裝置,別人也用不了,因為密鑰不一樣。


以前的iphone是可以擷取裝置的udid的,很簡單:

[UIDevice currentDevice] uniqueIdentifier] 
但是後來蘋果公司禁止了。(如果沒有記錯的話,應該是從ios5開始就不能用了)

反正現在是用不了了。


在網上查了一下,在github上找到一個辦法,

https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

基本原理就是讀取wifi晶片的mac地址,然後轉換成一個hash值。

實驗了一下,可行,我用的是ios skd 8


不知道蘋果會不會把mac地址也禁止了。

所以最好的辦法還是先使用上面的辦法去擷取,如果失敗了,就加個錯誤處理,比如再採用hard code擷取其他產生id的方式。



如何擷取ios裝置的唯一標識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.