首页 > 解决方案 > 如何允许用户在 iOS 中一次仅在一台设备上使用该应用程序?

问题描述

我一直在谷歌上搜索是否可以限制用户一次从一台设备登录的答案。

假设有一个移动应用程序(iOS 应用程序)允许一个用户一次从一台设备登录。如何实现?

要解决这个问题,我认为首先要识别一个设备。也许是通过它的 Mac 地址,但我没有找到任何方法从应用程序发出的用户请求中获取设备的 Mac 地址,因为任何直接标识 iOS 设备的标识符都被 Apple 隐私政策严格禁止。

所以为此我正在尝试做以下事情:

为了创建自定义 UUID,我使用以下代码:

let uuid = NSUUID().UUIDString.lowercaseString
print(uuid)

我正在将此 UUID 保存到我的钥匙串中。

因此,在考虑应用上述步骤时,我遇到了一个非常严重的问题

  1. 我是否遵循正确的方法?
  2. 如果是,例如,如果用户 A 登录应用程序然后注销,下一个用户 B 登录,那么它将向服务器发送相同的 UUID 吗?
  3. 如果用户 A 登录应用程序然后在未注销的情况下将其卸载并且用户 B 通过重新安装登录应用程序会发生什么情况。

以上场景如何管理UUID?如果有人能就可能的解决方案分享一些想法,那将非常有帮助。谢谢!

标签: iosswiftiphonexcodeuuid

解决方案


您必须使用令牌方法,如果出现任何新登录,则必须从后端管理它,以前的令牌应该过期,并且在应用程序中,只要令牌过期,它就应该移动到登录屏幕,并为此目的使用UDID这是完全非法的,或者当您将其提交到应用商店时,您的应用可能会被拒绝,谢谢。


推荐阅读