接続時に、ユーザーの接続の最後にこのコードを追加しました。
UIBackgroundTaskIdentifier myLongTask;
myLongTask = [[UIApplication sharedApplication]
beginBackgroundTaskWithExpirationHandler:^{
// If you're worried about exceeding 10 minutes, handle it here
}];
CFRunLoopRun();
[[UIApplication sharedApplication] endBackgroundTask:myLongTask];
ビルド設定も設定しました。アプリケーションにはwifiが必要です。これは、ソケットを使用する基本的なクライアントです。
以前は iPad をロックするとインターネットが使えなくなりました。iPadがロックされてから10分間は生き続けると思っていましたが、何らかの理由で今のところ無期限に残っています。電話をロックし、戻ってきてロックを解除してから30分以上インターネットがオンになっていることを測定しましたが、接続はまだチャットをストリーミングしています.
私はこれがVOIPアプリであることについて読んでいた特別な設定を何も設定していませんでしたが、これはアプリストアで受け入れられるための合法的なアプリの動作ではないかもしれないと心配しています. beginBackgroundTaskWithExpirationHandler を使用しましたが、アプリケーションにはインターネットが必要です。実際にアプリケーションが実際にスリープしない場合、長期的なバッテリーへの影響についても心配していますが、接続しているサーバーは60分間アイドル状態になると切断されるため、無期限に接続されたままになることはありませんが、このループが常に発生する場合は依然として懸念されます切断後も動作し、バッテリーを使用する可能性があります。たとえば、ユーザーがアプリを離れて 1 週間以上戻ってこず、iPad が 1 週間ロックされたままになっている場合、高速バッテリーを使用しますか? 私のテストは'
助言がありますか?10分間の画面ロック後にアプリがスリープしない理由を知っている人はいますか?
マイク