Swift - 如何防止强制退出时关闭套接字?

3
我的项目使用socket,我试图制作一个类似于WhatsApp的聊天应用程序。现在,我的问题是即使用户从AppSwitcher中杀死了我的应用程序并将我的应用程序转换为强制退出模式,我该如何保持打开的套接字?(就像WhatsApp一样)换句话说,WhatsApp、Telegram等等如何保持套接字的打开?因为当我们向其他人发送消息时,她/他的手机会迅速收到通知,并通知她/他有一条消息,这就是打开套接字的结果。我搜索了相关内容,但没有找到一个好的解决方案。谢谢回答...

1
你需要使用Pushkit来发送通知以重新启动你的应用程序。 - Paulw11
2个回答

1
他们使用APNS。 如果应用程序被关闭,您的套接字将被关闭...如此简单。 当用户向不在线的另一个用户发送消息时,您的服务器还应发送通知。

谢谢你的回答,但你能再解释一下吗? - BinMan1
当然,在我的“用户对用户”聊天中,例如,套接字还发送有关左侧用户状态(在线或离线)的信息,然后如果左侧用户处于脱机状态,则服务器上的套接字还会向左侧用户发送苹果推送通知。因此,如果左侧用户关闭了应用程序,他将收到一条通知,并且他知道有新消息到达。基本上,套接字仅在打开特定聊天讨论时连接,并在退出聊天视图控制器时关闭。在所有其他情况下,他只是接收通知。 - Marco M
你需要在服务器上实现APNS,也就是说不是聊天套接字直接发送推送通知,而是当你解码到达的消息(可能将其存储在数据库中)时,还必须检查接收方状态(在线/离线),如果需要发送通知。我已经在PHP中自己实现了APNS,但你可以使用可用的服务,例如https://www.pushwoosh.com。 - Marco M
这是一个非常好的描述。感谢您为我花费的时间。 - BinMan1

0

have you enable background mode?

你是否已经在目标设备中启用了后台模式?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接