iOS,不能使用UDID之后

苹果从iOS 5开始弃用UDID,转向使用identifierForVendor和advertisingIdentifier。然而,这两个新的标识符在某些情况下可能会发生变化,如设备重置、应用删除与重新安装或用户手动重置。这为依赖设备标识的应用带来挑战,需要开发者注意其在追踪设备方面的局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如大家所知道的,苹果已经不再支持开发者使用UDID, 所谓UDID就是iPhone,iPad等iOS设备上的物理编号,类似于序列号,程序开发人员可以通过代码“[UIDevice currentDevice].uniqueIdentifier”获得一个设备的UDID,用于跟踪纪录某个设备的使用。

从iOS 5开始,“ uniqueIdentifier”属性被列为“Deprecated”,如果程序开发人员在程序中使用“ uniqueIdentifier”, xCode编译该程序时会报警,不过程序仍然可以运行。
对于需要在App Store上架的应用,从 今年 5月 1号开始,苹果会对使用“ uniqueIdentifier”的应用作下架处理。
对于企业 in-house 应用,使用“ uniqueIdentifier”的程序仍可以在 iOS 5, iOS 6设备上运行,苹果不对这些应用进行限制。

对于需要使用UDID去识别设备的应用,苹果在官方文档中建议开发者使用“identifierForVendor”或者是“advertisingIdentifier”代替UDID。
不过,我们所面对的问题是一台设备上的 identifierForVendor和advertisingIdentifier会不会变化,是不是像UDID一样可以用于追踪设备?
实事上,在特定情况下,一台设备上的 identifierForVendor和advertisingIdentifier是会变化的。
即使在同一台设备上,使用不同开发者帐户开发的应用获得的identifierForVendor是不同的。
此外,即使在同一台设备上,使用同一个开发者帐户开发的程序,如果设备用户将该开发者帐户开发的所有应用删除,然后再进行安装,之后获得的identifierForVendor和删除应用前获得的identifierForVendor也是不同的。

对于advertisingIdentifier来讲,如果用户重置了设备,advertisingIdentifier会发生变化,此外,用户也可以在“设置”里对advertisingIdentifier进行手动重置。

所以说,identifierForVendor和advertisingIdentifier在部分业务场景下可以代替UDID,不过在使用过程中我们需要留意这些id在什么情况下会发生变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值