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

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

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

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

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

https://www.v2ex.com/t/283285

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

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

© 2021 V2EX