2012-03-09 64 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],它的确有窍门。