参考文章 iOS唯一标识符(IDFA&IDFV)
IDFA(广告标识符)-identifierForldentifier
依赖:AdSupport.framework
系统支持:iOS6及以上系统
获取方式:[ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString
定义: 由数字和字母组成的用来标识唯一设备的字符串。
特点:
- 每个设备只有一个IDFA,不同APP在同一设备上获取IDFA的结果是一样的
- 设备重启不会产生新的IDFA
- 但IDFA存在重新生成的情况:
- 用户完全重置系统(设置程序 -> 通用 -> 还原 -> 还原位置与隐私)
- 用户明确还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符)
注意:Appstore禁止不使用广告而采集IDFA的app上架。请参考
IDFV-identifierForVendor
依赖:UIKit.framework
系统支持:iOS6及以上系统
获取方式:[UIDevice currentDevice].identifierForVendor.UUIDString
定义:由数字和字母组成的用来标识唯一设备的字符串。
特点: 根据vendor的值,如果vendor相同,则返回同一字符串;如果vendor不同,则返回不同的字符串。
vendor解释:英文解释为卖家,小贩。根据xcode文档解释,正常情况下,会根据App Store提供的数据进行判断。但是如果app不是通过app store进行安装的(如企业应用或开发调试阶段),那么会根据bundle ID判断。
判断准则:
如:com.example.app1和com.example.app2,只有最后的后缀不同,所以会产生相同的vendor ID
在这里,还需要注意的一点就是:如果用户卸载了同一个vendor对应的所有程序,然后在重新安装同一个vendor提供的程序,此时identifierForVendor会被重置。