UUID -Universally Unique Identifier(通用唯一标识符)
UUID(通用唯一标识符),也称为GUID(全局唯一标识符)或IID(接口标识符),是128位值。 由NSUUID创建的UUID符合RFC 4122版本4,并且使用随机字节创建。
获取方式:
- 方法一
+ (NSString *)getUUID{
CFUUIDRef uuid = CFUUIDCreate(NULL);
NSString *UUID = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
return UUID;
}
- 方法二
+ (NSString *)getUUID2{
return [[NSUUID UUID] UUIDString];
}
注意:在同一App中,UUID每次获取值都不同。每次获取都不相同,但是是唯一的。
两种获取UUID方法打印结果
IDFV - Identifier For Vendor(应用开发商标识符)
a UUID that may be used to uniquely identify the device, same across apps from a single vendor.
获取方法:
+ (NSString *)getIDFV{
return [[UIDevice currentDevice] identifierForVendor].UUIDString;
}
注意:在同一设备中,该供应商的所有 App 的 IDFV 相同,应用删除该供应商所有 App 时,重新下载 App ,IDFV 发生变化
在两个工程中,同一个模拟器,同一个证书
IDFVTest
UUIDTest
所以,UUID 与 IDFV 不能作为标记该手机用户的唯一标识符
IDFA -Identifier For Advertising(广告标识符)
获取方法:[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]
使用isAdvertisingTrackingEnabled 属性检查广告跟踪是否受到限制。
当广告跟踪受到限制时,返回广告标识符值为:00000000-0000-0000-0000-000000000000
总结
UUID, App内获取后保存本地,可以针对此App用户做唯一标识,进行数据采集或分享。
IDFV, 同一开发商下的不同App做标识,可以在这些App内进行数据采集和数据共享。
IDFA,同一设备下的不同App的信息共享。
如果想获得唯一标识符,可以使用UUID与keychain结合。