【发布时间】:2017-05-27 06:31:23
【问题描述】:
我在 ios 中制作了聊天应用,但在 ios 10 xmpp 中无法在后台运行。
为此,我找到了一个用于在后台运行 xmpp 的解决方案 pushkit,但我不明白如何实现 xmpp + push kit。
所以任何人都有关于 xmpp +push kit 或 ios 10 xmpp 在后台运行的想法或代码,请帮助我。
谢谢。
【问题讨论】:
标签: ios objective-c xmpp xmppframework
我在 ios 中制作了聊天应用,但在 ios 10 xmpp 中无法在后台运行。
为此,我找到了一个用于在后台运行 xmpp 的解决方案 pushkit,但我不明白如何实现 xmpp + push kit。
所以任何人都有关于 xmpp +push kit 或 ios 10 xmpp 在后台运行的想法或代码,请帮助我。
谢谢。
【问题讨论】:
标签: ios objective-c xmpp xmppframework
在 iOS 10 之前,我们有一个 voip 套接字,即使在后台接收到一些数据包,它也会在后台唤醒您的应用程序。但是从 iOS 10 开始,我们将无法获得 cpu 时间,所以 pushkit 将是最后的手段。
如果你想使用 pushkit,你必须明白它只是在你被停职甚至被杀时唤醒你的一种方式。当您想向远程发送消息时,您需要向 APNS 发送一条 http 推送消息,然后发送带有有效负载的消息(如果足够,您甚至可以跳过您的 xmpp 部分)。
如果你坚持使用xmpp通信,你可能需要在发送APNS消息后存储消息,当远程app被唤醒并连接到你的xmpp服务器时,服务器将所有缓存的消息发送给客户端来传递这些消息。
这非常复杂,因为您的服务器确实需要进行一些更改。
【讨论】: