2012-04-19 19 views
1

私はXMPPに基づいてiOSアプリケーションを構築しています。 XMPPFramework経由でクライアントからXMPPメッセージを送信すると、すぐに呼び出されたデリゲートのメッセージが見つかりました。XMPPメッセージを確実にopenfireサーバーに送信する方法は?

- (void)xmppStream:(XMPPStream *)sender didSendMessage:(XMPPMessage *)message 

私のメッセージにはたくさんのデータが含まれていますが、それほど高速に送信することはできません。ユーザーがアプリをバックグラウンドに置くと、メッセージは失われます。どうすればこの問題を解決できますか?

答えて

0

- (void)xmppStream:(XMPPStream *)sender didSendMessage:(XMPPMessage *)message; 

がtrue、瞬時に呼ばれているが、ようだ:

:アプリケーションはあなたの要求が終了することを確認するために、バックグラウンド状態に入った場合は、時間の10分まで要求でき

背景状態に関する記事:http://www.macworld.com/article/1164616/how_ios_multitasking_really_works.html

アップルドキュメント:http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

XMPPStreamはあなたがYESに設定することができますプロパティenableBackgroundingOnSocketを持っている:あなたはApp Storeでの問題に実行することができます

/** 
* If set, the kCFStreamNetworkServiceTypeVoIP flags will be set on the underlying CFRead/Write streams. 
* 
* The default value is NO. 
**/ 
@property (readwrite, assign) BOOL enableBackgroundingOnSocket; 

注意、議論したように「偽」のVoIPバックグラウンドモードにこのトリックを使用した場合ここに:

iphone XMPP App run background

関連する問題