2016-03-27 73 views
2

我的項目是通過套接字工作的,我嘗試製作一個類似whatsApp的聊天應用程序。 現在,我的問題是我如何保持打開套接字甚至用戶從AppSwitcher殺應用程序,並讓我的應用程序強制退出模式? (如WhatsApp) 也就是說,WhatsApp和電報如何能夠保持打開插座?因爲當我們發送消息給其他人時,很快就會向她/他的電話發送通知,並通知她/他有一條消息,這是開放套接字結果。 我搜索它,但我找不到一個很好的解決方案。 感謝答案...Swift - 如何防止強制關閉套接字退出?

+1

您需要使用Pushkit發送通知才能重新啓動您的應用。 – Paulw11

回答

1

他們使用APNS。 如果應用程序被殺死,您的套接字將被關閉......這麼簡單。 當用戶發送消息給另一個不在線的服務器時,你的服務器也應該發送一個通知。

+0

感謝您的回答,但是您能否解釋更多 – BinMan1

+0

當然,在我的「用戶到用戶」聊天中,套接字還會發送關於左側用戶狀態(在線或離線)的信息,然後服務器上的套接字也會發送Apple如果他離線,將通知推送給左側用戶。因此,如果左側用戶殺死了應用程序,則會收到通知,並且他知道有新消息到達。基本上,套接字只在特定的聊天討論打開並關閉時纔會連接,當他退出聊天viewController時。在所有其他情況下,他只是收到通知。 –

+0

你必須在服務器中實現APNS,我的意思是它不是直接發送推送通知的聊天套接字,但是當你解碼到達的消息(並且可能將其存儲在數據庫中)時,你還必須檢查接收者狀態(在線/離線),並在需要時發送通知。我已經在PHP中通過自己實現了APNS,但是您可以使用可用的服務,例如https://www.pushwoosh.com。 –

0

have you enable background mode?

必須啓用後臺模式在目標