【问题标题】:iOS UUID different for same app depending if installed through xcode or testflight同一应用程序的 iOS UUID 不同,具体取决于是否通过 xcode 或 testflight 安装
【发布时间】:2016-11-22 23:01:14
【问题描述】:

我发现我得到的 UUID 是不同的,这取决于应用程序是由 xcode 直接安装(我在开发期间执行的)还是通过 testflight 安装的。

let uuidstring = UIDevice.current.identifierForVendor!.uuidString

是否有可能在两种情况下获得相同的 UUID?

理想情况下,UUID 是真正唯一的设备标识符,并且在删除和添加应用程序时不会改变,这似乎在改变当前的 UUID。

【问题讨论】:

  • 您可以创建自己的 UUID 并将其存储在钥匙串中。 identifierForVendor 可以而且将会改变。它并非旨在提供终生唯一的设备标识符
  • Apple 故意不提供唯一的设备标识符。人们试图潜入的每一个,Apple 都故意破坏了(尝试获取 iPhone 上的 MAC 地址)。您不能跟踪设备。

标签: ios swift uuid


【解决方案1】:

正如documentation 所说

此属性中的值在应用程序(或其他 来自同一供应商的应用程序)安装在 iOS 设备上。价值 当用户从 设备,然后重新安装其中的一个或多个。

这就是重新安装会更改应用的 UUID 的原因。

【讨论】:

  • 这是一个公平的观点,但这是否解释了为什么 TestFlight 版本会产生与直接安装的版本不同的 UUID?这是我的主要问题。我可以通过更改安装方法在两个稳定的 uuid 之间切换
  • 您还会在 Xcode 安装和 App Store 安装之间看到 identifierForVendor 的变化。测试飞行构建基本上是应用商店安装,所以它是一个不同的标识符。
  • UUID 和 UDID 是不同的东西:stackoverflow.com/questions/21872233/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
相关资源
最近更新 更多