2012-03-09 60 views
0

我在這裏面臨一個問題,我正在使用此庫UIDevice with UniqueIdentifier for iOS 5爲iOS設備生成一個唯一標識符,它只是簡單的md5哈希值的mac地址。一切都很好,我在appstore上發佈了應用程序,過了一段時間,我決定寫一個小更新。我的應用使用專用的api服務器,因此識別用戶非常重要。但是當我更新後開始我的應用程序時(我正在集成TapJoy) - 我有另一個mac地址和其他唯一標識符。我以爲mac地址不能改變,我錯了嗎?同樣在模擬器和設備上不斷髮生。Mac地址已更改

+0

鑑於您告訴我們,您的哈希函數更改的可能性似乎比MAC地址更改的可能性要大得多。 – Caleb 2012-03-09 21:30:33

+0

我沒有改變負責哈希的源代碼。當我運行批准的應用程序時,我得到一個標識符,當我運行測試版本時,我得到另一個=((( – Drabuna 2012-03-09 21:35:38

+0

)相同的設備,對吧?一個版本的應用程序在MAC地址散列時產生一個值,另一個版本產生不同的值。 MAC地址並沒有來回移動,但是這個軟件有一些不同之處 – Caleb 2012-03-09 21:44:36

回答

1

是的,所以我想通了。它的所有關於TapJoy。他們的庫實現了[[UIDevice currentDevice] macadress]方法。另外,UIDevice with UniqueIdentifer for iOS 5實現相同的方法。它們之間的區別 - 在mac地址中是冒號。當UniqueIdentifier時,TapJoy實現不具有它們。當你同時使用這兩個庫時,它可能會導致問題。所以要警告!我所做的只是在UniqueIdentifier庫中重命名方法[[UIDevice currentDevice] macadress],至[[UIDevice currentDevice] macadress_colons],它的確有竅門。