如何在Swift中获取设备唯一ID?
我需要在数据库中使用ID,并在社交应用程序中作为我的Web服务的API密钥.跟踪日常使用的设备并将其查询限制在数据库中的东西.
谢谢!
我正在使用 Swift 和 Firebase 构建一个 iOS 应用程序进行身份验证,需要避免来自不同设备的同一帐户的多个连接。我在这里阅读了一些其他帖子,但没有找到关于为什么这不起作用的明确答案。我首先尝试使用以下代码检查当前用户是否为零(由于异步调用,它始终显示为零)。
if Auth.auth().currentUser == nil {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我还尝试在我的 viewDidLoad() 中使用 addStateDidChangeListener() 回调函数,虽然它在发生登录时触发,但它仍然不返回任何当前连接的会话或显示当前用户已登录时我使用不同设备上的相同凭据。
Auth.auth().addStateDidChangeListener { (auth, user) in
// ...
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来检查我尝试登录 firebase 的帐户当前是否已登录(或未从上一个会话中退出)?
我正在 Firebase 后端的帮助下开发应用程序,并且使用 Firebase Auth 登录我的应用程序。我已经完成了所有集成和所有事情,并且我的应用程序运行良好。
但我只想与单个用户进行单个会话,因为现在使用单个 userId 我可以通过多个设备登录。
所以我想限制用户一次只能在单个设备上登录。
我正在使用带有用户名密码登录的自定义身份验证:
Auth.auth().signIn(withCustomToken: customToken ?? "") { (user, error) in
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果用户在另一台设备中使用相同的 ID 登录,我想显示“您已经登录另一台设备”的警报。
Firebase Auth lib 是否有可能用于单用户单会话?
编辑:建议的重复问题不会完全解决我的查询,尽管它可以帮助我理解场景并帮助解决我的问题。
感谢@Frenk 指出了这一点。