3

标题实际上是我的问题。既然 Apple 不再允许使用 UUID,我决定使用 CFUUID。

但是我对此有一些疑问。

每个设备都是独一无二的吗?如果是,它与 UUID 有何不同?

它是一个随机生成器吗?如果是的话有多好?我可以确定在 10000 台设备中不会有重复吗?

我在使用 CFUUID 的解决方案和让我的服务器生成一个我可以确定的随机唯一标识符之间。但是,这将需要在服务器和设备之间进行不必要的编码和 http 请求。

有任何想法吗?

4

2 回答 2

10

当您说苹果不允许使用 UUID 时,您必须指的是 UDID,或唯一设备 ID。

每次生成 UUID 时,UUID 都是唯一的。它不仅仅是一个 UDID。UUID 是全球唯一的。

每个设备都是独一无二的吗?如果是,它与 UDID 有何不同?

是的,它对于每个设备都是唯一的,因为 UUID 的一部分是一个设备 ID,尽管它不是整个 UDID。UDID 始终相同。每次创建 UUID 时,它都与上次不同,因此如果要将 UUID 用作设备 ID,则需要存储 UUID。

它是一个随机生成器吗?如果是的话有多好?我可以确定在 10000 台设备中不会有重复吗?

UUID 是计算出来的,而不是随机生成的。第一部分是设备 ID 的形式,第二部分来自日期和时间。虽然 UUID 的日期和时间部分可能在设备之间重复,但设备 ID 部分仍然保证全局唯一的 UUID。

于 2013-05-09T12:07:35.210 回答
1

如果世界上每个人每个人都有 600,000,000 台 iOS 设备,并且所有这些设备都在每台设备上安装您的应用程序,那么某处的两台设备有 50% 的机会生成相同的 UUID。

http://en.wikipedia.org/wiki/Universally_unique_identifier#Random_UUID_probability_of_duplicates

于 2014-02-19T01:14:28.490 回答