參考:http://www.cnblogs.com/qingjoin/p/3549325.html和html
http://zhidao.baidu.com/link?url=qa-f3H1jPenujahPoQGPCuGni4rtwmOsOkr46zrcB85S73b3g8OKwGfnzymIhTkfJPc5ZlRH5Fww2Xi7XttypySVXzKoAMcvUsreUjVGr7m網絡
MAC地址不能再用來設別設備 還有一個生成iOS設備惟一標示符的方法是使用iOS設備的Media Access Control(MAC)地址。一個MAC地址是一個惟一的號碼,它是物理網絡層級方面分配給網絡適配器的。這個地址蘋果還有其餘的名字,好比說是硬件地址(Hardware Address)或是Wifi地址,都是指一樣的東西。 有不少工程和框架都使用這個方法來生成惟一的設備ID。好比說ODIN。然而,蘋果並不但願有人經過MAC地址來分辨用戶,因此若是你在iOS7系統上查詢MAC地址,它如今只會返回02:00:00:00:00:00。 如今蘋果明確的代表你應該使用-[UIDevice identifierForVendor]或是-[ASIdentifierManager advertisingIdentifier]來做爲你框架和應用的惟一標示符。坦白的來講,應對這些變化也不是那麼的難,見如下代碼片斷: NSString *identifierForVendor = [[UIDevice currentDevice].identifierForVendor UUIDString]; NSString *identifierForAdvertising = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString]; 每種方法都適配一種特別的用法: identifierForVendor對供應商來講是惟一的一個值,也就是說,由同一個公司發行的的app在相同的設備上運行的時候都會有這個相同的標識符。然而,若是用戶刪除了這個供應商的app而後再從新安裝的話,這個標識符就會不一致。 advertisingIdentifier會返回給在這個設備上全部軟件供應商相同的 一個值,因此只能在廣告的時候使用。這個值會由於不少狀況而有所變化,好比說用戶初始化設備的時候便會改變。