0

タイトルは十分に説明していると思います。XMPPFrameworkバックグラウンドで (サービスのように) 動作し、アプリがアクティブな状態でなくてもメッセージを受信したい。設定しました

xmppStream.enableBackgroundingOnSocket = YES;

しかし、ここでは進歩はありません。アプリはバックグラウンドに移行し、数秒間メッセージを受信 (および通知を表示) しますが、数秒間非アクティブ (およびアイドル状態 (受信メッセージなし)) の場合、バックグラウンドで動作しなくなります。ロギングを試みたところ、最後のメッセージ (最後のアクティビティ) を受信して​​から数秒以内にアプリがキープアライブ パケットを送信していることがわかりましたが、しばらくアクティビティがない場合、キープアライブの送信を停止し、アプリは通知されず、もう機能しません。念のため、「キープアライブ送信間隔」を5秒に設定しました。

私は本当に迅速な助けに感謝します。

どうもありがとう

4

2 に答える 2

0

おそらく、XMPP フレームワークとは関係ありません。

アプリケーションをバックグラウンドで実行したい。バックグラウンドアプリケーションとしてマークする必要があります。

チェックアウト: http://www.raywenderlich.com/29948/backgrounding-for-ios

最も近い解決策は、アプリケーションが VOIP アプリケーションであることを iOS に伝えることです。

テスト目的で、「アプリケーションはバックグラウンドで実行されません」を「いいえ」に、「必要なバックグラウンド モード」を「アプリがボイス オーバー IP サービスを提供する」に設定するだけです。

これは、アプリケーションの plist ファイルで行われます。

ただし、実際に VOIP サービスを提供することなく、Apple がアプリケーションを承認するかどうかはわかりません。

これが役に立てば幸いです、ヤロン

于 2014-08-05T13:02:08.813 に答える