代码之家  ›  专栏  ›  技术社区  ›  jantimon

每个iPhone/iPod touch是否都有唯一的ID?

  •  2
  • jantimon  · 技术社区  · 15 年前

    每个iPhone/iPod touch是否都有一个唯一的ID(如MAC地址)?

    我需要向用户请求传输这样一个唯一ID的权限吗?

    1 回复  |  直到 12 年前
        1
  •  7
  •   Community Ian Goodfellow    7 年前

    对, 可以使用uidevice的uniqueidentifier属性获取它:

    唯一设备标识符是由各种硬件标识符(如设备的序列号)组成的哈希值。它保证对每个设备都是唯一的,但不能公开绑定到用户帐户。例如,您可以使用它将游戏的高分存储在中央服务器中,或者控制对注册产品的访问。唯一的设备标识符有时被其缩写udid引用。

    编辑: uniqueidentifier属性在ios5中已弃用,现在不应使用它。作为替代方案,您可以生成自己的唯一ID(例如检查 this questions )

    同样在ios6中,Apple添加了2个新方法来获取唯一标识符(作为 NSUUID 班级):

    设备-供应商标识 :

    此属性的值对于来自 在同一设备上运行的同一供应商。返回不同的值 对于来自不同供应商的同一设备上的应用程序,以及 不同设备上的应用程序让供应商如虎添翼。

    AsIdentifierManager-广告识别器 :

    与uidevice的vendor属性IdentifierForVendor不同,相同 值将返回给所有供应商。此标识符可能会更改 例如,如果用户删除设备,那么您不应该缓存它。