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 <AdSupport/ASIdentifierManager.h>
[[[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
获取不到,私有方法可能可以获取到。