iOS 后台和 XMPP 框架

Posted

技术标签:

【中文标题】iOS 后台和 XMPP 框架【英文标题】:iOS Backgrounding & XMPPFramework 【发布时间】:2012-04-19 14:01:18 【问题描述】:

所以我创建了一个简单的 XMPP 应用程序,但似乎我无法进行后台处理,除非该应用程序是指定类别之一 listed here。

我只想保持套接字打开并在应用不在前台时显示收到消息的通知。

我发现找到有关 ios 后台的好信息有点困难,似乎很多应用程序都设法做到这一点,但文档似乎更具限制性。

是否可以在后台长时间运行这样的聊天客户端?类似于 android 服务生命周期的东西?

【问题讨论】:

看来我必须使用Push Notifications。考虑到我已经用安全服务器打开了一个套接字,这似乎过于复杂了......希望有人确认/拒绝。 【参考方案1】:

当您的应用程序进入后台时,您(客户端)关闭与 xmpp 服务器的连接。 当您的应用程序回到前台时,您重新打开连接。 如果您的服务器需要向您的客户端发送消息,它必须使用推送通知。 当客户端收到通知时,CAN(取决于用户操作)可以回到前台。

【讨论】:

【参考方案2】:

这不像在 Android 中那么容易。 为了节省电池,Apple 实施了 10 分钟的限制。

只有10分钟,没有后台或无限后台。 因此,在您的应用程序中,您必须获得无限。当您的应用不完全适合给定列表时,我不知道这是否如此简单。

【讨论】:

您知道 IM+ 和 Facebook 之类的应用如何管理长时间运行的通知吗? 我不认为他们是通过多任务处理通知来做到这一点的。我认为他们只是向您发送推送通知

以上是关于iOS 后台和 XMPP 框架的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 XMPP IOS 框架的 JID

如何在 iOS 的 XMPP 框架中设置资源

在 XMPP 框架 iOS 中阻止用户

iOS XMPP 框架阻止/隐私选项?

使用 xmpp 框架登录 ios 应用程序时面临断言失败错误:ios

在 iOS 中使用 XMPP 框架进行图像共享