写了一个 iOS 下生成和管理设备唯一标识符( UDID)的组件,分享一下...

2016 年 6 月 3 日
 mushank
使用简单,就一行代码;轻量级,就一个类文件。
主要原理是采用 Keychain 来保存 IDFV ,能够保证在 App 被卸载、重装、 iOS 系统升级等一系列情况下设备的 UDID 不会发生改变。会保持持续更新,欢迎提issue...
附上地址: https://github.com/mushank/ZKUDIDManager

第一次发帖,好鸡冻...
6016 次点击
所在节点    iDev
29 条回复
mynameisz
2016 年 6 月 3 日
感谢分享。
TonyYOYO
2016 年 6 月 3 日
IDFV 是啥。。
Tankpt
2016 年 6 月 3 日
好牛逼
zjddp
2016 年 6 月 3 日
lizhenda
2016 年 6 月 3 日
这个不错哦~收藏下
mushank
2016 年 6 月 3 日
@mynameisz 嗯嗯,不客气!
mushank
2016 年 6 月 3 日
@TonyYOYO identifierForVendor ,具体解释可以查看一下苹果官方文档,还是很容易理解的,另外 4L 那个博客解释的也很清楚喔。
mushank
2016 年 6 月 3 日
@Tankpt 不好好加班逛什么 V2 !
mushank
2016 年 6 月 3 日
@lizhenda 嗯嗯,已经加入公司实际项目使用过,暂时效果良好,如有问题欢迎提 Issue 或者直接 Pull request 哈!
loveuqian
2016 年 6 月 4 日
我记得你的项目没有 IDFA 相关的东西是不能使用 IDFA 的?

我之前做智能硬件 app 的时候也在研究唯一标识符
最终结果还是由硬件告诉我他的 mac 地址来确定唯一
mokaiZz
2016 年 6 月 4 日
为什么要 IDFA 呢,随机生成一个 uuid 就行了呀
mushank
2016 年 6 月 4 日
@loveuqian 你说的是 IDFA ,我用的是 IDFV ,你可以查看一下两者的区别。
mushank
2016 年 6 月 4 日
@loveuqian 另外苹果关闭了获取 iOS 设备的 UDID 接口和获取 WIFI 模块 Mac 地址的接口,所以目前而言采用 keychain 保存 IDFV 可能是最好的解决方案了。
mushank
2016 年 6 月 4 日
@mokaiZz 随机生成一个也是可以的,只要能确保其唯一性。另外要做的就是保证你随机生成的 UDID 在各种复杂情况下不会丢失或被重置。
564425833
2016 年 6 月 4 日
感谢分享
daniellu
2016 年 6 月 4 日
为什么不用 identifierForVender 呢?这个不是更好么?可以保证同 vender 是绝对一样的(模拟器不可测试)
mokaiZz
2016 年 6 月 4 日
@mushank 嗯的
mushank
2016 年 6 月 4 日
@daniellu 该厂商所有 App 都被卸载后, IDFV 是会改变得,所以进一步采用 keychain 确保其前后一致。
fhefh
2016 年 6 月 5 日
mark~~
iyeatse
2016 年 6 月 5 日
提交了个 PR = =

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/283285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX