私のアプリケーションでは、サーバーからダウンロードするコンテンツがいくつかあり、ユーザーがダウンロードを開始してアプリが非アクティブ状態になると、アプリはバックグラウンド状態になり、ダウンロードが停止して失敗します。これを回避するために、 「 beginBackgroundTaskWithExpirationHandler 」を使用してバックグラウンドでダウンロード継続を実装しようとしました。これは一定期間のみ機能し、デバイスがバックグラウンド状態/スリープモードに長時間ある場合、ダウンロードは失敗します。
ダウンロードの失敗を回避するために、アプリケーションがコンテンツをダウンロードして同じように実装しているときに、デバイスがスリープモードになるのを回避することを考えました。
ダウンロードが開始されるとすぐにsetIdleTimerDisabledをYESに設定し、ダウンロードの完了またはダウンロードの失敗後にプロパティをNOに戻しました。
[[UIApplication sharedApplication] setIdleTimerDisabled:Yes];
ダウンロードが開始された後、アプリケーションはスリープモードになるように制限されていますが、ダウンロードの完了後も、アプリケーションはスリープモードになりません。
ダウンロードが開始された後、アプリケーションはスリープモードになりません。
誰かが、dowmloadが発生している間だけデバイスをスリープ状態に制限するのを手伝ってくれますか?
TNQ