【发布时间】:2014-03-19 16:04:24
【问题描述】:
我正在开发一个调用 Web 服务进行登录的 iOS 应用程序,当时我将登录凭据连同供应商标识符 (identifierForVendor) 一起发送到 Web 服务器,以便为这些凭据唯一标识设备。因此用户只能拥有一个设备和一个凭证。
我用
获得了 identifierForVendorNSString *uuid = [[UIDevice currentDevice] identifierForVendor].UUIDString
然后此标识符将存储在 Web 服务器的数据库和设备数据库中。下次当用户打开应用程序并尝试从 Web 服务器下载数据时,用户设备上的本地 identifierForVendor 将与存储在 Web 服务器上的标识符进行比较。
当用户卸载应用程序并重新安装时出现问题,我发现 identifierForVendor 已更改。因此用户无法继续进行。
我阅读了苹果文档UIDevice Documentation
如上所述,如果来自同一供应商的所有应用程序都从设备上卸载,那么在新安装该供应商的任何应用程序时,将采用新的标识符 ForVendor。
那么在我的情况下如何处理呢?
【问题讨论】:
-
我不知道是否可以,但是将它保存在 Keychain 中怎么样?您在启动时检查此标识符是否在 KeyChain 中,如果没有,则获取一个并将其存储在 Keychain 中。
-
您好 Gekb,您是否为您的查询找到任何解决方案。就连我也面临同样的情况。
标签: ios uuid uniqueidentifier identifier