您的位置:首页 > 产品设计 > UI/UE

iOS UDID UUID 广告标识符的区别

2017-03-23 15:31 621 查看
NSString *UUID =  [[NSUUID UUID] UUIDString];
//通过运行程序可以发现,循环10次,每一次打印的值都是不一样的,当然循环的再多,这个值永远不会出现两个一样的值。所以从某种程序上来说,UUID跟你的设备没有什么关系了。也就是说,没有什么卵用

NSString *Str1 = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
//广告标识符,如果用户手机限制广告跟踪打开的话,获取到的是一串0000的字符串,可以当设备标识符

NSString *Str2 = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
//真正的UDID代码获取不到,可以通过ituns xcode获取到
//这里这个是虚拟UDID,是一个有一点像的替代品。如同我上面所说,UDID是只和iOS设备有关的,
//而这个identifierForVendor是应用和设备两者都有关的,A应用安装到张三这台设备上,就会产生一个identifierForVendor(比如是:1234);
//A应用安装到李四这台设备上,就会产生另一个identifierForVendor(比如是:5678);
//B应用安装到张三这台设备上,又是一个全新的identifierForVendor(比如是:9999),
//B应用安装到李四这台设备上,还是一个全新的identifierForVendor(比如是:7777)。
//但是无论A应用安装卸载多少次,产生的是都是1234. 
//所以我们知道,这个identifierForVendor是一种应用加设备绑定产生的标识符,相当于是:Z(identifierForVendor) = X(某应用) + Y(某设备)。
//当然,和真正的UDID的区别是显而易见的:也就是说App的开发者没有办法去区分某一台设备了,而是只能识别某个应用在某台设备上。

NSLog(@"%@",UUID);
NSLog(@"%@",Str1);
NSLog(@"%@",Str2);
Str1 和 Str2 可以配合Keychain保存设备用户信息,使用Keychain参考博主的另一篇博客:点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS UUID UDID