【发布时间】:2018-03-20 18:08:30
【问题描述】:
我的 iPhone 上有 Kaiser Permanente 健康应用程序。当我打开它时,我的用户名已预先填写,并提示我使用 Touch ID 登录。
现在我按住主屏幕上的图标以从手机中删除该应用程序。 iOS 警告我这样做会删除所有应用程序数据。我接受。
接下来,我从应用商店重新安装 Kaiser Permanente 应用。不知何故,我的用户名仍然是预填充的,我仍然可以使用 Touch ID 登录。这违背了我的期望。
我认为这可能与 iCloud 有关,但我注意到以下几点:
- 在“设置”>(帐户)>“iCloud”中,钥匙串已“关闭”
- 在设置 >(帐户)> iCloud 中,Kaiser Permanente 未列在“使用 iCloud 的应用程序”下
- 在“设置”>(帐户)>“iCloud”>“管理存储”>“备份”>“iPhone”中,我在“选择要备份的数据”下取消了 Kaiser Permanente。
- 在“设置”>“帐户和密码”>“应用程序和网站密码”中,列表为空。
作为用户,这是非常出乎意料的。这是预期的开发人员能力吗?它是如何完成的?
【问题讨论】:
-
您是否从该开发者那里安装了任何其他应用程序?如果是这样,他们可能正在使用组钥匙串。
-
删除应用时不会清除keychain中存储的应用数据。
-
应用程序在加载时可能会根据您的设备令牌从服务器获取信息。
-
通知设备令牌中的设备令牌?这将是一个不好的做法,但它可能是。
-
否,通过使用 OpenUDID,您的设备令牌可能在您卸载应用程序然后重新安装时保持不变,可能是应用程序使用相同的库或类似的东西。 github.com/ylechelle/OpenUDID