Mac地址已更改

Posted

技术标签:

【中文标题】Mac地址已更改【英文标题】:Mac-address changed 【发布时间】:2012-03-09 21:28:00 【问题描述】:

我在这里遇到了一个问题,我正在使用这个库 UIDevice with UniqueIdentifier for ios 5 为 iOS 设备生成一个唯一标识符,它只是简单的 mac 地址的 md5 哈希。一切都很好,我已经在应用商店发布了应用,过了一段时间我决定写一个小更新。我的应用程序为 api 使用专用服务器,因此识别用户非常重要。但是当我在更新后启动我的应用程序时(我正在集成 TapJoy) - 我有另一个 mac 地址和其他唯一标识符。我以为mac地址不能改变,我错了吗?同样的事情在模拟器和设备上不断发生。

【问题讨论】:

根据您告诉我们的情况,您的哈希函数更改的可能性似乎远大于 MAC 地址更改的可能性。 我没有更改负责散列的源。当我运行批准的应用程序时,我得到一个标识符,当我运行测试版本时,我得到另一个 =(( 同一个设备,对吧?应用程序的一个版本在对 MAC 地址进行哈希处理时会产生一个值,而另一个版本会产生不同的值。您知道 MAC 地址不会来回翻转,因此该软件有些不同。 嗯嗯嗯嗯嗯。我删除了 TapJoy 库,一切恢复正常。现在我看到了不同之处,TapJoy 不知何故覆盖了 Mac 地址,并从中删除了所有冒号。我会努力解决的。 【参考方案1】:

是的,所以我想通了。这都是关于 TapJoy 的。他们的库实现了[[UIDevice currentDevice] macadress] 方法。此外,UIDevice with UniqueIdentifer for iOS 5 实现了相同的方法。它们之间的区别 - 是mac地址中的冒号。 TapJoy 实现没有它们,而 UniqueIdentifier 有。当您同时使用这两个库时,可能会导致问题。所以请注意!我所做的只是将 UniqueIdentifier 库中的方法 [[UIDevice currentDevice] macadress] 重命名为 [[UIDevice currentDevice] macadress_colons] 并成功了。

【讨论】:

以上是关于Mac地址已更改的主要内容,如果未能解决你的问题,请参考以下文章

如何更改电脑的MAC地址?

VMware ESXI5.5虚拟机更改MAC地址

电脑网卡MAC地址的更改

CentOS6 虚拟机迁移后网卡名更改问题解决

基础贴:教你在Linux中更改MAC地址

无法使用 ioctl 更改 mac 地址