Swift之家iOS之家

iOS 区分UDID与UUID

2019-06-20  本文已影响0人  小小土豆dev

UDID(Unique Device Identifier)用户设备唯一编码

UDID 是一串由40位16进制数组成的字符串,用以标识唯一的设备。苹果从 iOS 5 开始就移除了通过代码访问 UDID 的权限,所以我们无法从代码中获取用户设备的 UDID。如果我们想查看自己设备的 UDID,可以通过 iTunes 来查看。通常开发者需要知道你的 UDID,才可以让你的手机安装访问测试中的应用,在增加 Provisioning Profile 文件时会用到。

如果用户不方便通过 iTunes 来查看,可通过 Safari 浏览器打开,获取UDID:

https://fir.im/udid

UUID(Universally Unique Identifier)通用唯一识别符

UUID 是一个32位的十六进制序列,使用小横线来连接:8-4-4-4-12 。它是一种应用加设备绑定产生的标识符。当在设备上安装来自同一个供应商的不同App时,此值保持不变。如果你删除了来自某个供应商的所有app,再重新安装时,此值会改变。

获取UUID的方法:

NSString *uuidString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

let uuidString = UIDevice.current.identifierForVendor?.uuidString

IMEI

IMEI(International Mobile Equipment Identity):国际移动设备身份码,在手机组装完成后赋予的一个全球唯一的号码,由于此时 iPhone 只支持单卡,所以 IMEI 和 iPhone 是一一对应的。

iOS 2 提供了一种方法获取 IMEI,但是为了保护用户隐私,iOS 5 以后苹果不再允许获取 IMEI 了,如果你在应用中获取 IMEI,可能会遭到 Apple Store 的拒绝。

IDFA

IDFA(Identifier for Identifier),即广告标识符,多用于用户的广告追踪,是每台设备的唯一 ID,IDFA 存储在用户的系统上。Apple 是不允许开发者追踪用户设备的,但是为了监控广告效果,在 iOS 6 中提供这个折中方案,但 IDFA 也会发生变化,比如重置系统、还原广告标识符等。同时,用户也可以选择是否禁止广告追踪(即商家没办法根据用户的行为偏好推送广告)。

Mac 地址

Mac(Medium/Media Access Control):网络设备的物理地址,如果 IMEI 被认为是设备的唯一标识,那么 Mac 就是网络接口唯一标识。学过计算机网络都知道,在根据 IP 进行物理寻址的时候就是使用的 Mac 地址。

同样由于隐私问题,在 iOS 7 之后无法通过 Mac 地址来标识唯一设备,因为在 iOS 7 之后获取到的 Mac 地址为一固定值。

上一篇下一篇

猜你喜欢

热点阅读