【发布时间】:2017-09-07 21:20:32
【问题描述】:
由于 UDID 已被弃用,是否有任何其他可能的解决方案来获得唯一的设备标识符?我们可以使用vendorIdentifier,但是如果用户下次重新安装应用程序就不会一样了。以前我使用的是 OpenUUID,这是一种更好的解决方案,但现在似乎已被弃用。我的要求是发送一个唯一的设备标识符,即使用户删除或重新安装应用程序,它也应该是相同的。我们不能使用广告标识符,因为我的应用程序没有使用任何 iAd 框架,如果我在未正确配置 iAd 的情况下使用广告标识符,应该有机会从商店拒绝应用程序。
我可以使用“CFUUIDCreateString”并存储它的钥匙串,以便在用户重置应用程序之前它是相同的吗?这样做还有其他风险吗?
【问题讨论】:
-
正如我所提到的,如果我们删除并重新安装应用程序,供应商标识符将不会相同。
-
也许因为这不可用,您可以解释为什么需要它,我们可以建议替代解决方案:D
-
用例 - 我们的应用程序应该被限制为用户只能使用他的 n 台设备,如果他正在登录他的第 (n+1) 台设备,那么此时不应发生登录。为此,我们需要发送一些唯一标识符来识别设备。
-
在这种情况下,您需要创建某种基于令牌的系统,在该系统中,用户使用他们的用户帐户注册一个令牌,以安装特定的应用程序。系统应该只发布 n 个令牌,如果用户需要切换到另一个设备,他们需要注销并重新注册到新设备。密钥应该是用户帐户 ID(例如电子邮件地址),向其颁发了许多令牌。发出令牌后,它会存储在设备上,并随每个请求一起发送回服务器。如果用户登录到设备 n+1,则没有新的令牌可用。