返回的mac-address对于不同的设备是相同的

mak*_*ron 2 iphone mac-address device ios

我必须在客户端应用程序中向服务器提供我的设备的唯一标识符.围绕StackOverflow,一般建议使用设备的mac地址,因为[[UIDevice currentDevice] uniqueIdentifier]从iOS 5开始不推荐使用属性.

所以,当我按照SO附近​​的答案中提供的指令尝试检索设备的mac地址时,我得到了两个设备的相同地址,这显然是错误的:02:00:00:00:00:00.

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

mak*_*ron 12

对不起伙计们,我不够专心.当我谈论这些设备时,我应该提到其中一个实际上是一个模拟器(使用iOS 7),另一个是使用iOS 7的设备.所以现在我在Apple文档中发现:

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

因此,identifierForVendor正是我想要的.遗憾的是,现在在代码中,开发人员应该为不同的iOS版本提供支持.

  • 它很烦人.我们最初使用UUID,然后当苹果移除它时我们迁移到MAC地址,现在我们必须再次将我们的应用程序迁移到这个新的东西. (3认同)