2016-08-03 68 views
0

我正在用XMPPFramework製作簡單的iOS Messenger。所以問題是,如果我的應用程序進入後臺,它將與XMPP服務器斷開連接,因此在未打開應用程序的情況下存儲傳入消息的唯一方法是推送通知(將消息變量添加到推送中),這不是很好的方式。 此外,馬應用程序使手機作爲iBeacon跟蹤其他近手機的位置。據我所知,有了這樣的功能,應用程序即使在後臺也可以保持活動狀態,但是當我在後臺跟蹤iBeacons時,我是否也可以持有XMPP連接?或者蘋果發現並拒絕這樣的應用程序?在後臺模式下保持XMPP連接作爲BLE附件(iOS,Swift)

感謝您的幫助?

回答

1

區分在後臺運行的iOS應用程序和已掛起的應用程序很重要。

是的,你可以使用信標轉移來保持你的應用程序在後臺運行。當它活着時,您可以在後臺執行聯網事件,包括XMPP呼叫。

信標檢測可以使應用程序在後臺保持活動的時間有限。

在接收端,通過同時對信標進行測距和監測,您可以爲每個出現/消失的新信標區域保持活動狀態10秒,並且可以根據請求將其延長至180秒。通過旋轉每2分鐘發送的信標來確保始終存在新的進入/退出事件,從而遊戲該系統是可能的。

在發送端,iOS設備只能在前臺處理時發送iBeacon數據包。因此,您可以做的最好的做法是將接收應用程序保持在後臺並與XMPP進行通信,只要在最後3分鐘內在前臺內有另一個應用程序位於信標範圍(〜50米)內。

相關問題