2012-04-19 127 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