2012-03-01 8 views
0

私のオンラインアプリケーションはiPhone-3GS iOS 4.3で動作し、NSStreamを使用してサーバーと通信します。電話をロックした後でNSStreamが終了する

私はアプリを最小化すると、電話をロックし、私のアプリを再起動するストリームが終了します。

私のアプリはサーバーとの接続が失われています。

電話をロックした後に誰かが接続を維持する方法を知っていますか? iOSマルチタスクの機能ですか?

+1

あなたが実際にきれいにする必要がありますので、次の質問 http://stackoverflow.com/questions/9481457/nsexception-kills-the-app-if-raised-in-background –

+0

にSCCによって答えからガイドを読みますバックグラウンドに入るときに進行中のすべての接続を再開し、フォアグラウンドに入っている間に再起動します。あなたがアプリがVoIPアプリケーションであれば、ダークダストの言うよりも。 –

答えて

5

これはiOSの機能です。バックグラウンドのアプリケーションのネットワーク接続が切断されます。あなたは "VoIP"トリートメントを要求する必要があります。このためには、"voip" value for the Info.plist key UIBackgroundModesを設定し、ソケットをVoIPソケットとしてマークする必要があります。kCFStreamNetworkServiceType of your socket to kCFStreamNetworkServiceTypeVoIPCFReadStreamSetPropertyに設定してください。

また、Apple iOS App Programming Guideのセクションも参照してください。

+3

@nminhtai:あなたのアプリがVoIPアプリでない場合は、アプリストアの場合はこれをしないでください。 –

関連する問題