【问题标题】:Unique device identification for iosios的唯一设备标识
【发布时间】:2015-05-04 10:03:07
【问题描述】:

我有一个 HTML/JS/CSS 应用程序,我希望使用 phonegap 将其转换为 ios 应用程序。在我的应用程序中,我需要唯一标识每个设备。从 iOS 7 Apple 不接受获取 UDID 的应用程序。我想为最新的 ios4+ 实现这一点。我在https://build.phonegap.com/plugins/1112 看到了一个插件。与此插件相关的另一个问题是,如果我使用依赖于钥匙串的插件,那么风险因素是什么,即在什么情况下会重置或清除钥匙串?

【问题讨论】:

    标签: ios cordova plugins phonegap-plugins udid


    【解决方案1】:

    这不是常见的方法,但它可能会有所帮助。

    您可以使用服务http://get.udid.io 获取设备的真实UDID。

    这里是使用示例的 repo https://github.com/vladignatyev/udidio-example

    【讨论】:

    【解决方案2】:

    很快,我最近的做法是:

    var vendorDeviceId = UIDevice.currentDevice().identifierForVendor.UUIDString
    

    这是正确的,UUID 现在对于每个应用安装是唯一的,而不是设备。如果用户重新安装您的应用,他将被分配一个新的唯一标识符(不同于上一个)。

    【讨论】:

    • 换句话说,它们对于设备来说不是唯一的,它们只是在您安装/更新/重新安装应用程序时随机生成的:这意味着它是一个完全无用的 ID。
    【解决方案3】:

    根据Cordova documentation这里是获取设备UUID的方法

    var string = device.uuid;
    

    请注意,对于 iOS,设备的 UUID 与每个应用程序不同。此 UUID 在您的应用程序首次运行时创建,并在您删除并重新安装应用程序时更改。

    iOS Quirk

    iOS 上的 uuid 使用 identifierForVendor 属性。它对于同一供应商的设备是唯一的,但对于不同的供应商会有所不同,并且如果供应商的所有应用程序都被删除然后重新安装,它就会发生变化。如果应用程序从备份或 iCloud 中恢复,则 UUID 将与保存在首选项中的相同。使用此插件旧版本的用户仍会收到通过其他方式生成的相同的先前 UUID,因为它将从首选项中检索。

    【讨论】:

      【解决方案4】:
      猜你喜欢
      • 2014-04-05
      • 2013-10-07
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 2011-11-13
      • 2013-10-11
      相关资源
      最近更新 更多