iOS UUID、IDFV、IDFA 与 唯一标识符

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结合。

你可能感兴趣的:(iOS UUID、IDFV、IDFA 与 唯一标识符)