如何在不使用登录系统的情况下识别唯一用户(iOS)

时间:2014-09-17 12:13:02

标签: ios login uuid udid

我需要一种方法来识别我的应用的用户,但没有登录系统。

我查看了UUID,它为我的问题提供了部分答案,但因为它不是真正的UDID,所以它并非“非常独特”:如果用户重新安装应用程序,他会获得一个新的UUID,并且这不适合我。

有没有办法可以获得设备序列号或类似的独特之处?我可以从设备获得的任何类型,而无需用户填写任何字段。

2 个答案:

答案 0 :(得分:5)

您可以尝试使用存储在用户的iCloud中的键值存储中的一些唯一随机字符串。

因此,当用户第一次启动您的应用时,您会发现他的iCloud没有存储任何值,因此您生成并存储它。当用户下次启动应用程序时,您将看到此值,并将采取相应措施。

更重要的是,即使用户重新安装您的应用程序或将重置设备,您仍然可以在他的iCloud中按值识别用户。

答案 1 :(得分:3)

过了一段时间,我们认为要获得独特的用户ID并且要求他们填写某种字段并实际注册,要么不可靠,不可能或非常烦人。

因此,我们决定使用以下过程使用加密格式化程序的电话号码:

  • 询问电话号码&国际代码*(+ 1,+ 32等)
  • 以编程方式验证电话号码的完整性
  • 如果满意,请让用户通过提醒进行验证
  • 如果没问题,请发送密码并等待验证
  • 如果有效,请注册数据库。

用户的用户名是:格式化的电话号码(例如+32495555556),然后在SHA-256中对该字符串进行哈希处理,最后我们将该超长字符串保存到数据库并识别所有人

如果您有任何疑问,请在此询问,以便我做一些澄清。如果你有更好的想法,我仍然很高兴听到它。