私のオンラインアプリはiPhone-3GSiOS4.3で動作し、NSStreamを使用してサーバーと通信します。
アプリを最小化し、電話をロックし、アプリを再起動すると、ストリームが終了します。
そのため、私のアプリはサーバーへの接続を失います。
電話をロックした後も接続を維持する方法を知っている人はいますか?iOSマルチタスクの機能ですか?
私のオンラインアプリはiPhone-3GSiOS4.3で動作し、NSStreamを使用してサーバーと通信します。
アプリを最小化し、電話をロックし、アプリを再起動すると、ストリームが終了します。
そのため、私のアプリはサーバーへの接続を失います。
電話をロックした後も接続を維持する方法を知っている人はいますか?iOSマルチタスクの機能ですか?
これはiOSの機能です。バックグラウンドアプリのネットワーク接続が切断されます。「VoIP」処理を要求する必要があります。このためには、Info.plistキーの「voip」値をUIBackgroundModes
設定してから、CFReadStreamSetPropertyを使用してソケットのkCFStreamNetworkServiceTypeをkCFStreamNetworkServiceTypeVoIPに設定するVoIPソケットとしてソケットをマークする必要があります。
AppleiOSアプリプログラミングガイドの「 VoIPアプリを開発するためのヒント」セクションも参照してください。