在iOS中使用CFUUID生成的id有多独特?

标题实际上是我的问题。 现在,苹果不允许任何更多的使用UUID我决定去与CFUUID。

不过,我有一些关于它的问题。

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

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

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

有任何想法吗?

当你说苹果不允许使用UUID时,你必须引用UDID或唯一设备ID。

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

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

是的,每个设备都是唯一的,因为UUID的一部分是devide ID,尽pipe它不是整个UDID。 UDID总是一样的。 每次创buildUUID时,它都与上一次不同,因此如果要将其用作设备ID,则需要存储UUID。

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

计算UUID,不是随机生成的。 第一部分是设备ID的一种forms,第二部分是从date和时间导出的。 尽pipeUUID的date和时间部分可以在设备之间重复,但设备ID部分仍然保证全局唯一的UUID。

如果世界上每个人都有6亿个iOS设备,并且他们都在每个设备上安装你的应用程序,那么有50%的机会在两个设备的某个地方生成相同的UUID。

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