iOS 的 app 是如何获取设备的唯一标示的?

2017-05-14 23:33:37 +08:00
 moonkiller
苹果对用户的隐私控制一直比较严格;
尽量不让 app 获取设备的唯一 ID。

但是发现探探这个 app 能直接封禁设备,
如果你在某个 iPhone 上被封了号;
即使卸载 app,重装后用小号注册,还是会被封禁。
请问是用了什么技术原理?
6458 次点击
所在节点    iDev
19 条回复
wj2061
2017-05-14 23:37:02 +08:00
广告 id ?
zanyzephyr
2017-05-14 23:39:38 +08:00
读取了 iCloud 信息?
Jaylee
2017-05-14 23:44:54 +08:00
我猜是利用了推送 sdk 里面的 deviceId
simpleapples
2017-05-15 00:05:05 +08:00
有一个很机智的办法就是,第一次安装时候获取 deviceID 然后存到 keychain 里,这样无论怎么删除 app 都没问题了。
moonkiller
2017-05-15 00:32:48 +08:00
@simpleapples 只能把 iPhone 恢复出厂设置了吗?
zhaojjxvi
2017-05-15 00:34:12 +08:00
突然想到 Uber 收集 uuid 的事儿,是不是一样性质的?
或者我记错了
a412739861
2017-05-15 00:38:32 +08:00
@simpleapples #4 如果是这样,在 10.3 里删除该 app 的所有 group 组,那这个 keychain 就会被清空。
LZ 的系统如果是 10.3,就不会受到这个方法的限制了。
可以试一试。

如果探探有申请广告 id,那么也一样可以做到的封禁。
推送的 deviceID 的话,也一样,这种情况的话,可以尝试初始化去重置 deviceID 的。我记得 deviceID 是会更改的,所以 Apple 建议是每次都去获取新的。但是一般似乎基本不会改动。
gluttony
2017-05-15 01:02:50 +08:00
@a412739861 iOS 10.3 beta 2 - 5 删掉同 group 的 app 后会清除 keychain,beta 6 - release 版又改回来了。
moonkiller
2017-05-15 01:17:39 +08:00
@gluttony
@a412739861 我还停留在 iOS8...因为 10 还不能越狱😢
1023400273
2017-05-15 09:46:17 +08:00
我都是安装第一次随机一个 uuid 直接存到 keychain,以后就都用这个了
jackisnotspirate
2017-05-15 09:53:11 +08:00
上面都讲了生成一个 uuid , 存到 keychain
还可以同时存到 iCloud
UIView
2017-05-15 09:55:49 +08:00
通过推送的 deviceid,存到 keychain
kIdJoEy
2017-05-15 10:20:47 +08:00
高要求 /风控相关的可以用设备特征指纹,相对可靠性和通用性都高一些=。=
Jaylee
2017-05-15 10:55:26 +08:00
@kIdJoEy 显然你没有做过 iOS 开发
skylancer
2017-05-15 12:37:06 +08:00
目前 iOS 只能识别一个不抹掉设备重设情况下的半永久识别
esile
2017-05-15 13:24:04 +08:00
重置广告标识符
xi_lin
2017-05-15 14:01:10 +08:00
@a412739861 10.3 正式版 keychain 并不会被删除
Joyreece
2017-05-24 10:23:05 +08:00
估计是自定义了一个类似 UID 的字符串,然后存在 KeyChain 里面。
每次 App 首次启动时,检查 KeyChain 里面有没有特定的 key,如果没有则新建,有的话则发送给服务器进行匹配。
jackrex
2017-06-08 13:41:14 +08:00
KeyChain 目前是最靠谱的方法,还有 SFSafariViewController + Cookie 的方式,有点黑

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

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

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

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

© 2021 V2EX