标题实际上是我的问题。既然Apple不再允许使用UUID,我决定使用CFUUID。
但我对此有一些疑问。
每个设备都是独一无二的吗?如果是,它与UUID有何不同?
是随机发电机吗?如果是,它有多好?我能确定10000台设备不会重复吗?
我在这个使用CFUUID的解决方案之间,让我的服务器生成一个我可以肯定的随机唯一标识符。但是,这需要在服务器和设备之间进行不必要的编码和http请求。
有什么想法吗?
答案 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