我使用的后端apis采用唯一的设备标识符并生成响应。在客户端,我正在为这个唯一标识符生成UUID,因为Apple不允许获取IMEI。我正在存储UUID(UserDefaults存储)并在每次进行api调用时获取它。现在,我的问题是如果用户清除应用程序数据,则清除存储的UUID并且必须生成新的ID。但是,使用此新ID,用户请求将变为无效。如何解决这个问题?是否有某种id对于单个设备保持不变(类似于android中的设备ID)?
答案 0 :(得分:1)
您可以使用钥匙串安全存储来存储UUID,即使您卸载并安装该应用程序,它也会保持不变。
这是用Swift编写的第三方库,它简化了钥匙串的使用。
https://github.com/evgenyneu/keychain-swift
通过@Anand(请参阅第一条评论)。
Keychain是以安全的方式存储应用程序的UUID的最佳选择,即使删除并重新安装应用程序也可以保留。但万一,如果用户重置设备以清除应用数据,即使是钥匙串数据也会被删除。