2

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

因此,当我尝试按照 SO 周围答案中提供的说明检索设备的 MAC 地址时,我的两个设备的地址都相同,这显然是错误的:02:00:00:00:00:00

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

4

3 回答 3

12

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

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

所以,identifierForVendor正是我想要的。遗憾的是,现在在代码中开发人员应该整理出不同的 iOS 版本支持,即使是那个东西。

于 2013-06-13T08:48:54.050 回答
0

看看这个链接 消除了-mac-address-as-tracking-option-signaling-final-push-towards-apples-own-ad-identifier-technology

根据这个

MAC 地址是一种基于硬件的标识符,长期以来一直是广告商为每台设备拥有永久、唯一标识符的一种方式,它提供了一个稳定的跟踪选项,以替代饱受争议的 UDID,”Palli 解释说。“然而,对 UDID 提出的同样的隐私问题同样适用于 MAC 地址——它只是获得了较少的宣传,”他补充道。现在,对于尚未切换到 IDFA 的用户,迁移窗口即将关闭。

根据移动应用营销公司 Fiksu 收集的数据,该公司帮助应用发布者进行用户获取工作,iOS 7 设备——此时所有的 beta 测试者——现在总是返回 02:00:00:00:00 的 MAC 地址: 00 . 例如,这个“虚拟”地址相当于电话号码 555-1212。Fiksu 的移动应用营销技术平台负责人 Craig Palli 说,本周早些时候,Fiksu 的日志中数以万计的独特 iOS 7 设备开始出现这种情况。

于 2013-09-20T07:43:23.270 回答
-1

请使用以下链接获取 UDID,因为您不能在 2013 年 5 月 1 日之前直接使用 https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5/tree/master/UIDeviceAddition

于 2013-06-13T10:11:12.590 回答