**
uuid是指一台機器上生成的數字,它保證對同一時空中得所有機器都是唯一的.
mac位址,或稱為mac位址,或稱為mac位址,硬體位址,用來定義網路裝置的位址.在osi模型中,第三層網路層負責ip位址.第二層資料鏈路層負責mac位址.因此乙個主意會有乙個ip位址,而每個網路位址會有乙個專屬於它的mac位址,
------------用來定義網路裝置
的位置
mac位址就如同我們身份證
上的身份證號碼,具有全球唯一性。
1.-(nsstring*) uuid
可以通過此方法獲取乙個唯一標示的字串,開發者可以在應用第一次啟動時候呼叫一次,然後串儲存起來,以後替代udid來使用.
問題是如果使用者刪除應用再次安裝時,又會生成新的字串,所以不能保證唯一識別該裝置.
替代方案」
現在網上有一現成的解決方案,使用裝置的mac位址,因為mac位址也是唯一的.unix有系統呼叫可以獲取mac位址.但有些事情需要注意:
1.iphone可能有多個mac位址,wifi的位址,以及sim卡的位址.一般來講,我們取en0的位址,因為他是iphone的wifi的位址,是肯定存在的.
2.mac位址涉及到隱私,不應該胡亂將使用者的mac位址傳播!所以我們需要將mac位址進行hash之後,才能作為deviceid上傳.
使用方法:
#import "uidevice+identifieraddition.h" nslog(@"%@",[[uidevice currentdevice] uniquedeviceidentifier]);
nslog(@"%@",[[uidevice currentdevice] uniqueglobaldeviceidentifier]);
還有第二種解決方案
wwdc 2013已經閉幕,ios7 beta隨即發布,介面之難看無以言表...,簡直就是山寨android。
更讓ios程式猿悲催的是,裝置唯一標識的mac address在ios7中也失效了。
通過:keychain這個類來實現.
iOS 裝置唯一標示
idfa 適合對外 idfv 適合對內 廣告id 使用者可以在設定,隱私,廣告追蹤裡重置此id的值,或限制此id的使用,有可能取不到 nsstring idfa asidentifiermanager sharedmanager advertisingidentifier uuidstring 值一...
ios裝置唯一標示符
替代的方案是開發者應該使用 在ios 6中介紹的vendor或advertising標示符 蘋果已經警告過我們uniqueidentifier將不能再使用了,並且提供了另外兩個可選的。但是在程式中該選擇使用哪個呢?本文不會回答這個問題,具體用哪個是由你來根據程式的目的來做決定的。下面我將列出ios中...
ios裝置唯一標示符
原文 替代的方案是開發者應該使用 在ios 6中介紹的vendor或advertising標示符 蘋果已經警告過我們uniqueidentifier將不能再使用了,並且提供了另外兩個可選的。但是在程式中該選擇使用哪個呢?本文不會回答這個問題,具體用哪個是由你來根據程式的目的來做決定的。下面我將列出i...