返回的mac地址对于不同的设备是一样的

我必须将我的设备的唯一标识符提供给客户端应用程序中的服务器。 在StackOverflow周围, 一般build议使用设备的MAC地址,因为[[UIDevice currentDevice] uniqueIdentifier]属性已经从iOS 5开始被弃用了。

所以,当我试图根据指令提供的设备的Mac地址时,在我的答案中提供了相同的地址,这显然是错误的: 02:00:00:00:00:00

检查了许多代码,但似乎是正确的。 什么可能导致这种问题?

对不起,我不够细心。 当我谈论这些设备时,我应该提到其中一个实际上是一个模拟器( iOS 7 ),另一个是iOS 7的设备。 所以现在我在苹果文档中发现:

在iOS 7及更高版本中,如果您要求inputiOS设备的MAC地址,系统将返回值02:00:00:00:00:00。 如果您需要识别设备,请改用UIDevice的identifierForVendor属性。 (需要为自己的广告目的标识符的应用程序应考虑使用ASIdentifierManager的advertisingIdentifier属性。)

所以, identifierForVendor正是我想要的。 可惜的是,现在在开发代码中,开发人员应该为这个问题提供不同的iOS版本支持。

看看这个链接消除mac地址作为跟踪选项信号最终推向苹果自己的广告标识符技术

根据这个

Palli解释说:“ MAC地址是一种基于硬件的标识符,对于广告商来说,长久以来,每个设备都有一个永久的,唯一的标识符,提供稳定的跟踪选项,作为备受争议的UDID的替代品。 他补充说:“然而,对UDID提出的隐私问题同样适用于MAC地址 – 它只是收到较less的宣传。 现在,那些还没有切换到IDFA的人,迁移的窗口正在closures。

根据移动应用程序营销公司Fiksu收集的数据,该软件可以帮助应用程序发行商进行用户获取,目前,iOS 7设备(所有testing版testing人员) 总是返回一个MAC地址为02:00:00:00:00: 00 。 例如,这个“虚拟”地址相当于电话号码555-1212。 Fiksu移动应用程序营销技术平台负责人Craig Palli表示,它本周早些时候开始在Fiksu的日志中显示数以万计的独特iOS 7设备。

请使用下面的链接为UDID,因为你不能直接使用2013年5月https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5/tree/master/UIDeviceAddition