2017-05-27 54 views
0

我在iOS中創建了聊天應用程序,但是在ios 10 xmpp中沒有在後臺工作。如何在ios 10的後臺運行xmpp?

爲此,我找到了一個用於在後臺運行xmpp的解決方案pushkit,但我不明白如何實施xmpp +推送工具包。

因此,任何人都有關於xmpp + push kit或ios 10 xmpp在後臺運行的想法或代碼,請幫助我。

謝謝。

回答

0

在iOS 10之前,我們有一個voip套接字,即使在後臺收到一些數據包,它也會在後臺喚醒您的應用。但是從iOS 10開始,我們不會獲得CPU時間,所以pushkit將是最後的選擇。

如果你想使用pushkit,你必須有意義,它只是一種喚醒你的方式,當你被暫停或甚至你被殺死。當你想發送一條消息到遠程的時候,你需要發送一個http推送消息給APNS,並且消息的有效載荷將被傳遞(如果夠了,你甚至可以跳過你的xmpp部分)。

如果您堅持使用xmpp通信,您可能需要在發送APNS消息後存儲消息,並且當遠程應用程序被喚醒並連接到xmpp服務器時,服務器會將所有緩存的消息發送到客戶端發送這些消息。

這很複雜,因爲您的服務器確實需要進行一些更改。

+0

感謝給我答案我會嘗試使用APNS推送通知。 –

+0

@DivyaPatel,我想知道爲什麼你需要使用xmpp?這是一個相當繁重的協議,如果你的應用專注於即時聊天,我認爲很難在沒有服務器的情況下改變行爲。如果只是爲了某種通知,蘋果推送可能是一種選擇。 – user3349433

+0

你是對的這是繁重的協議,但它是客戶的要求。 :)另外我需要羣聊,這就是爲什麼我使用xmpp。 –