2012-04-19 65 views
1

所以我创建了一个简单的XMPP应用程序,但似乎我不能有后台处理,除非应用程序是指定类别之一listed hereiOS背景与XMPPFramework

我只是想保持打开的套接字,并显示通知收到的消息,如果应用程序不在前台。

我发现它有点难以找到有关iOS背景的好信息,似乎很多应用程序都设法做到这一点,但文档似乎有更多的限制。

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

+0

看起来我必须使用[推送通知](http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html)。似乎极其复杂,考虑到我已经有一个安全的服务器打开一个套接字...会爱某人确认/否认。 – Autonomy 2012-04-19 14:46:48

回答

3

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

1

这不像在Android中那么容易。 为了保存电池,苹果已经实施了10分钟的限制。

只有10分钟,没有背景或无限背景。 因此,在您的应用程序,你必须得到无限。我不知道这是否很容易,当你的应用程序不完全适合给定的列表。

+0

你知道IM +和Facebook如何管理长时间运行通知吗? – Autonomy 2012-04-19 14:37:57

+0

我不认为他们正在通过多任务处理来完成通知。我认为他们只是发送推送通知 – Fab1n 2012-04-19 14:51:42