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

时间:2013-05-09 11:48:24

标签: ios uuid uniqueidentifier

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

但我对此有一些疑问。

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

是随机发电机吗?如果是,它有多好?我能确定10000台设备不会重复吗?

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

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

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

每次生成UUID时,UUID都是唯一的。它不仅仅是一个UDID。 UUID在全球范围内是独一无二的。

  

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

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

  

是随机发电机吗?如果是,它有多好?我能确定吗?   10000台设备不会重复吗?

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

答案 1 :(得分:1)

如果世界上每个人都有600,000,000个iOS设备,并且所有人都在每个设备上安装你的应用程序,那么有两个设备在某处产生相同UUID的可能性为50%。

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