iOS 的唯一标识失效以及解决办法

iOS 的唯一标识失效以及解决办法

苹果的UDID 在 ios5 后就废弃了。那么怎么办呢,最近看到github上的两个项目。拿来分享一下

项目一:

https://github.com/doubleencore/DEUID


这个工程演示了以下几种uuid:

  • NSUUID(ios5后废弃)
  • Advertiser ID
  • Identifier for Vendor
  • OpenUDID
  • CFUUID
  • NSUUID

有什么区别?

从 API 可用的角度看:
iOS SDKios5(以下)ios5(包括ios5以上)
UDID可用不可用
Advertiser ID不可用ios6后可用
Identifier for Vendor不可用ios6后可用
OpenUDID可用可用
CFUUID可用可用
NSUUID不可用ios6后可用

参考文章1.


从持久性的角度(是否会改变)看:
持久性启动应用从后台返回前台还原广告标识重装app系统重启系统还原
UDID不变不变不变不变不变不变
Advertiser ID不变不变变化不变不变变化
Identifier for Vendor不变不变不变变化不变变化
OpenUDID不变不变不变不变不变变化
CFUUID变化变化变化变化变化变化
NSUUID变化变化变化变化变化变化
Identifier for Vendor在重装app时根据情况有特殊的表现:

它是根据app编译时你设置的BundleIdentifier的前两个域来判断所拥有的app是否共享一个。说得太拗口。举个例子好了。
如果你们的公司开发了三个app(A,B,C),BundleIdentifier分别为 com.hxsmart.666 , com.hxsmart.888 ,com.zhangbh.666

那么当机子安装了以上三个app时,A,B的IDFV是一样的,C的是不一样的。

这时如果这时后续还有新的app(D,E),BundleIdentifier分别为
com.hxsmart.918 , com.zhangbh.000

那么D的IDFV跟之前的A,B一致,E跟之前的C一致。
这时用户卸载了A,B,C中的一个(比如A),重装后,IDFV还是一致,没有变化过。可是一旦ABC都卸载了。你再次重装,A,B,C的IDFV就 变化

注意:
  • 还原广告标识: 设置–》隐私 –》还原广告标识 (老版本在通用–》关于–》广告)

项目一总结

OpenUDID 最接近于之前废弃的UDID的功能,如果系统还原了,你就当是一台新设备吧

————————————————

项目二:

https://github.com/fabiocaccamo/FCUUID

使用这个工程的要求:

  • SDK大于等于ios5
  • ARC
  • 导入Security.framework
  • Key-value storage enabled (target/Capabilities/iCloud/Key-value storage)【可选】
  • UICKeyChainStore【可选】(github链接

这个工程演示了以下几种uuid

  • uuid(不可用)
  • uuidForKey:key
  • uuidForSession
  • uuidForInstallation
  • uuidForVendor
  • uuidForDevice
它们在持久性的不同之处:
持久性启动应用重启应用还原广告标识重装app系统重启系统升级系统还原
uuid变化变化变化变化变化变化变化
uuidForKey:key不变变化变化变化变化变化变化
uuidForSession不变变化变化变化变化变化变化
uuidForInstallation不变不变不变变化不变变化变化
uuidForVendor不变不变变化不变*不变变化变化
uuidForDevice不变不变不变不变不变不变不变**
和项目一大同小异,只是多了个系统升级。加*号的情况表示:
  • *情况和项目一举的例子一样。Identifier for Vendor
  • **只当用户恢复了一个包括keychain’s data的备份时才生效。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值