iOS uuid、udid、idfa、idfv

1、UDID (Unique Device Identifier)

iOS设备的唯一识别符,它由40位16进制数的字母和数字组成,除了越狱,没什么办法可以改变它;
移动广告商和游戏网络运营商往往需要通过UDID用来识别玩家用户,并对用户活动进行跟踪。

代码实现 : [[UIDevice cuurrent] uniqueIdenfier]

UDID 在 iOS5.0 的时候已经被抛弃使用了,使用的话会被禁止上架。

UDID是放弃在代码中获取,目前主要用于配置真机调试证书。

2、UUID (Universally Unique Identifier)

通用唯一识别符(伪唯一),但是因为UUID随机数算法得到的数重复概率为170亿分之一,几乎可以保证每次随机出来的值都是唯一的。

代码获取的方式: [NSUUID UUID].UUIDString;

可以通过UUID + Keychain的方式来得到唯一值。

3、IDFV (IdentifierForVendor)

代码获取的方式: #import

[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]

Z(identifierForVendor) = X(某应用) + Y(某设备)。

线上: IDFV 会根据App Store给的数据决定,卸载重装后也一致 (不同设备是不一样的)

开发: 如果不是从App Store安装的,那么会根据bundle ID的前两个字端进行计算,所以 com.example.a 和 com.example.b 在开发阶段计算出来的IDFV 会是一样的。

如果用户将属于此Vender的所有App卸载,则idfv的值会被重置,即再重装此Vender的App,idfv的值和之前不同。

4、IDFA (IdentifierForIdentifier)

广告标示符,在同一个设备上的所有App都会取到相同的值,是苹果专门给各广告提供商用来追踪用户而设的。

代码获取的方式: [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

如果用户完全重置系统((设置程序 -> 通用 -> 还原 -> 还原位置与隐私) ,或者用户明确的还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符) ,那么广告标示符会重新生成。

iOS10,当用户打开这个功能后,商家只能获取到一连串无意义的0。

5、imei

获取不到,私有方法可能可以获取到。

你可能感兴趣的:(iOS,uuid,udid,idfa,idfv)