UUID 和 UDID

UDID 全名是 Unique Device Identifier ,设备唯一标识符。适合设备有关的,而且只和设备有关。有点类似MAC地址。UDID是一个40位的16进制序列。

可以在itunes中获得,或者iphone插入xcode时,在xcode中获得。

但是 xcode5 以后,进制在代码中获得UDID。

现在的SDK提供了一个参数 identifierForVendor 来代替原来的UDID的作用

NSUUID *uuid = [UIDevice currentDevice].identifierForVendor;

NSLog(@"uuid 1 = %@“,uuid.UUIDString);

但是此时的uuid.uuidString 不是真正的UDID,是应用和设备两者的结合体。是一个应用加设备绑定产生的标识符。identifierForVendor= 某应用 + 某设备。 也就是说,APP的开发者没有办法区分某一台设备,而是只能识别某一个应用在某台设备上。

UUID

全称 University Unique Identifier ,通用唯一标识符。是一个32位的16进制序列。使用横线来连接8-4-4-4-12.

UUID 在某一时空下是唯一的。比如在当前这一秒,全世界产生的UUID都是不一样的。当前同一台设备产生的UDID也是不一样的。

for (int i = 0; i < 10; i++){

NSString *uuid = [NSUUID UUID].UUIDString;

NSLog(@"uuid 2 = %@",uuid);

}

通过运行程序可以发现,循环10次,每一次打印的值都是不一样的,当然循环的再多,这个值永远不会出现两个一样的值。所以从某种程序上来说,UUID跟你的设备没有什么关系了

在很早之前,苹果宣称如果第三方应用开发者继续分享或者使用iPhone、Mac、AppleWatch的UDID的话,那么他们的应用将会禁止上架。为什么苹果要在应用中禁止使用呢?那是因为隐私问题。比如我开发了5款App,很多用户都下载了这5款App并使用。如果我能轻易的获取这些用户的UDID,其实我能拼凑出用户的很多信息。由于UDID本身的隐私属性,之前常常用来做第三方统计和其他的目的。当然现在也有人使用MAC地址来识别设备,因为MAC地址也唯一的识别了一台设备并且不会被修改,不知道以后苹果会对此如何操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容