【问题标题】:Does UUID getting changed for some cases在某些情况下 UUID 是否会更改
【发布时间】:2015-09-15 22:13:53
【问题描述】:

我正在使用用户的设备UUID 来获取唯一设备。

NSString  *currentUUIDString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

我知道如果应用程序被删除/重新安装,UUID 会发生变化 (Apple document)。

但是UUID 是否会因以下情况而改变?

  1. 如果应用程序已更新。 (发现same question)
  2. 如果设备OS version已升级。
  3. 如果做iCloud/iTunes备份和恢复。
  4. 如果设备已重置。 (在这种情况下,我认为 UUID Keychain 存储将不起作用。我猜钥匙串存储也被清除了。)

编辑:

不,这不是重复的,question 与如何唯一识别设备有关,我已经关注了。我知道我们可以使用UUID 来唯一识别设备。但我关心的是UUID 可能会更改的频率是多少,如果更改了,那么可以更改的场景是什么。

【问题讨论】:

  • 1,2,4 没有变化,但 3 号发生了变化。检查我的答案 [这里][1]。 [1]:stackoverflow.com/a/30936929/4145420
  • @gyer 感谢您的评论。它不是重复的,这个问题与如何唯一地识别设备有关。但是这个问题与UUID的变化频率和可以改变的场景有关。
  • 为什么不测试一下看看会发生什么?更新应用程序或从 iTunes 进行恢复与重新安装相同。如果设备正在重置,您的意思是恢复出厂设置,那么是的。如果您的意思是关闭设备然后再打开,那么不会。但在这种情况下,最好的方法就是测试自己。
  • @Jeff 感谢您的评论。无论从我的角度来看,我已经完成了它。但上述情况,如 iTunes/iCloud 备份/恢复、操作系统升级或恢复出厂设置在我这边是不可能的。如果有人已经完成了它,那么这将很容易继续。

标签: ios icloud uuid keychain uniqueidentifier


【解决方案1】:

除非您删除并再次安装该应用程序,否则它不会更改。

【讨论】:

    【解决方案2】:

    是的

    设备的 identifierForVendor 是识别设备的好方法。如果应用程序(以及来自同一开发者的所有应用程序)从设备中删除并重新安装,情况将会改变。它不依赖于 wifi/蓝牙连接。除了去年的一个错误,它不会随着操作系统而改变。 ......您还可以将自己的 UUID 写入钥匙串 - 在删除/重新安装应用程序后仍然存在......您还可以向用户的 iCloud 键值文件写入一些内容。那将是特定于用户的,而不是特定于设备的。它也可以在删除/重新安装后幸存下来。我想这就是你想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多