如何断开应用程序聊天中的非活动用户 xcode
How to disconnect inactive users in an application chat xcode
我正在尝试找到一种方法,当应用程序在后台运行超过 120 秒时断开与应用程序聊天的活动用户的连接,但是计时器似乎无法在后台运行,这是代码
func sceneDidEnterBackground(_ scene: UIScene) {
Timer.scheduledTimer(withTimeInterval: 3, repeats: false) { (timer) in
print("start the logout code")
}
}
在代码中你可以看到 3 秒,因为即使是 3 秒它也不起作用。您能否提供我可以使用的最佳方法是什么,以便我注销用户而不是继续在在线列表中显示他?
后台工作非常有限,我们无法以 100% 的概率执行这种计算。这个逻辑最好留给后端
我自己正在开发一个聊天应用程序,我遇到了这个问题,我花了很长时间才找到解决方法。
我注意到后台不会给我很长时间注销用户,所以我决定无论何时用户或应用程序输入:
sceneDidDisconnect
在这种情况下,我将调用一个让用户离线的函数。
if Auth.auth().currentUser != nil {
print("put offline")
user.logout()
}
sceneDidBecomeActive
在这种情况下,我将调用一个函数,使用户重新在线。
if Auth.auth().currentUser != nil {
user.offline()
}
applicationWillTerminate
当应用程序终止时,我调用一个函数,将用户 Offline
然后 Logout
用户最后从数据库 Delete the user
希望这个技巧对你有所帮助。
我正在尝试找到一种方法,当应用程序在后台运行超过 120 秒时断开与应用程序聊天的活动用户的连接,但是计时器似乎无法在后台运行,这是代码
func sceneDidEnterBackground(_ scene: UIScene) {
Timer.scheduledTimer(withTimeInterval: 3, repeats: false) { (timer) in
print("start the logout code")
}
}
在代码中你可以看到 3 秒,因为即使是 3 秒它也不起作用。您能否提供我可以使用的最佳方法是什么,以便我注销用户而不是继续在在线列表中显示他?
后台工作非常有限,我们无法以 100% 的概率执行这种计算。这个逻辑最好留给后端
我自己正在开发一个聊天应用程序,我遇到了这个问题,我花了很长时间才找到解决方法。
我注意到后台不会给我很长时间注销用户,所以我决定无论何时用户或应用程序输入:
sceneDidDisconnect
在这种情况下,我将调用一个让用户离线的函数。
if Auth.auth().currentUser != nil {
print("put offline")
user.logout()
}
sceneDidBecomeActive
在这种情况下,我将调用一个函数,使用户重新在线。
if Auth.auth().currentUser != nil {
user.offline()
}
applicationWillTerminate
当应用程序终止时,我调用一个函数,将用户 Offline
然后 Logout
用户最后从数据库 Delete the user
希望这个技巧对你有所帮助。