用于在清除应用数据后识别设备的唯一ID

时间:2018-01-02 05:24:09

标签: ios swift uuid uniqueidentifier

我使用的后端apis采用唯一的设备标识符并生成响应。在客户端,我正在为这个唯一标识符生成UUID,因为Apple不允许获取IMEI。我正在存储UUID(UserDefaults存储)并在每次进行api调用时获取它。现在,我的问题是如果用户清除应用程序数据,则清除存储的UUID并且必须生成新的ID。但是,使用此新ID,用户请求将变为无效。如何解决这个问题?是否有某种id对于单个设备保持不变(类似于android中的设备ID)?

1 个答案:

答案 0 :(得分:1)

您可以使用钥匙串安全存储来存储UUID,即使您卸载并安装该应用程序,它也会保持不变。

这是用Swift编写的第三方库,它简化了钥匙串的使用。

https://github.com/evgenyneu/keychain-swift

通过@Anand(请参阅第一条评论)。

Keychain是以安全的方式存储应用程序的UUID的最佳选择,即使删除并重新安装应用程序也可以保留。但万一,如果用户重置设备以清除应用数据,即使是钥匙串数据也会被删除。