【问题标题】:The iOS 5 changed the uniqueIdentifier code?iOS 5 更改了 uniqueIdentifier 代码?
【发布时间】:2011-12-15 04:58:44
【问题描述】:

功能

[[UIDevice currentDevice] uniqueIdentifier]

在 iOS 5 中已弃用,我在此项目中使用 MAC 地址找到了解决方案:https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

好的,解决了。但现在我发现 iOS 5 改变了 uniqueIdentifier 返回的代码格式。

在 iOS 4.x 中是这样的格式:

93F38DEB-3C0B-5C09-B746-0DFDFDDB297C

现在iOS 5,同样的函数返回这种格式:

93f38deB3c0b5c09b7460dfdfddb297c

有人知道代码是否发生了变化吗?不同的只是格式或同一设备的代码真的不同吗?

【问题讨论】:

    标签: iphone objective-c ipad ios5 uniqueidentifier


    【解决方案1】:

    MAC Address 是(假定)附加到网络接口的全局唯一标识符,尽管它们可以通过多种方式进行更改。

    Apple 用来提供访问权限的uniqueidentifier 附加到设备硬件且不可更改,这使其非常适合跨应用程序和会话跟踪用户。如果我不得不猜测的话,这也是苹果删除它的原因。无法跨应用和会话跟踪用户会增加用户在其设备上的隐私。

    如果 Apple 最终出于同样的原因取消对 MAC 地址的访问,我不会感到惊讶,因此 examine other options for tracking devices 可能会让您受益。

    【讨论】:

    • 如何更改 MAC 地址?更换网络接口控制器显然会改变它,还有什么办法?
    • @Rodrigo:AFAIK,越狱设备允许以编程方式更改 MAC 地址。
    • @Rodrigo:这取决于您要更改它的设备。对于 iOS,它肯定必须越狱,但可能就像以 root 身份执行 ifconfig en0 ether 01:23:45:67:89:0A 一样简单。我尚未对其进行测试以确保它可以正常工作,但我已经在其他硬件上多次更改了我的 MAC。
    【解决方案2】:

    [[UIDevice currentDevice] uniqueIdentifier] 仍然会给你和以前一样的结果。您链接到的项目不是 1:1 的替代品,它是一种替代方案,它使用不同的实现为您提供类似的解决方案,因此两个字符串是不同的。

    【讨论】:

    • 这是 2 个设备的 2 个不同代码 :) 我现在解决了这个问题。我现在无法在一个 iOS 4 中测试此功能,而不是更新同一设备并在 iOS 5 中测试
    【解决方案3】:

    您不应该在 iOS 5 上使用唯一标识符。这就是您需要知道的全部内容。

    iOS 上的唯一标识符总是多余的,并且是一个巨大的安全威胁。其他操作系统没有唯一标识符,没有它们也可以生存。

    1. 您始终可以在服务器上生成唯一标识符并将其发送到您的设备。
    2. 您始终可以使用系统函数从某些独特的系统属性(例如 MAC)生成它们。在 iOS 上,您可以使用 CFUUIDCreate 创建唯一标识符。此标识符在设备和时间上是唯一的(每次调用它都会得到不同的标识符),但您可以将它们保存(例如保存到钥匙串中)。

    【讨论】:

    • 我需要使用唯一标识符。我使用 mac 地址解决了我的问题,但如果我得到旧的唯一标识符会很好。
    • 不,我不为 Apple 工作。 UUID 的内部格式不是你需要了解的,因为 iOS 5 UUID 根本不需要你关心。
    【解决方案4】:

    代码已更改!!!!!!

    UniqueIdentifier 不再是唯一的!!!

    第一种格式有 36 hexa lenght

    93F38DEB-3C0B-5C09-B746-0DFDFDDB297C

    第二个有40个六角!!!!!!

    因此,它改变了。我不知道它是否将更多的十六进制附加到标识符,但更大的尺寸改变了一切。

    【讨论】:

    • 不,不是。旧代码有 36 个带破折号的十六进制(所以正确的是 32 个十六进制),新代码有 40 个没有破折号的十六进制。
    • 这不是真正的答案!
    • 这是在 iOS 4 到 ios 5 之间的过渡。他们更改了代码。这对我来说真是头疼。现在这不是问题。
    猜你喜欢
    • 1970-01-01
    • 2012-12-14
    • 2014-08-13
    • 2017-11-25
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多