2016-12-05 8 views
1

私のアプリケーションでは、iOS設定を使用してデバイスWi-Fiを別のWi-Fiに接続する必要があります。ユーザーが他のネットワークに接続してアプリケーションに戻るまで、一時停止せずにアプリをバックグラウンドで(最大5分間)保持したい。iOSデバイスのWi-Fi設定を変更するまでiOSアプリケーション(iOS 9以降)をバックグラウンドで実行する方法

デバイスの無線LANの切り替え中にアプリケーションがバックグラウンドから削除されることがあります。アプリケーションはバックグラウンドでアクティブなままではありません。

iOSアプリケーション(iOS 9以降)をバックグラウンドで5分間、つまり一定の時間保持するにはどうすればよいですか?バックグラウンドに移動

+0

なぜあなたのアプリはバックグラウンドから削除されますか?あなたのアプリはソケット接続を開いていますか?または、それは任意のbakcgroundタスクを実行していますか?そうでなければ、私の知る限り、システムのメモリが不足していない限り、あなたのアプリは簡単に殺されることはありません。私はそれが間違っているかどうかは分かりません。 –

答えて

0

アプリは、それらがシステムによって を懸濁させることができるように、できるだけ迅速に 休止状態に自分を置くことが期待されています。あなたのアプリは、タスクの真ん中にあり、そのタスクを完了するために 少し余分な時間を必要とする場合、それはいくつかの追加の実行時間を要求するUIApplication オブジェクトの beginBackgroundTaskWithName:expirationHandler:または beginBackgroundTaskWithExpirationHandler:メソッドを呼び出すことができます。 のいずれかを呼び出すと、一時的にアプリの停止が延期され、 に作業を完了するための余分な時間が与えられます。その作業が完了したら、 アプリはendBackgroundTask:メソッドを呼び出す必要があります。 はシステムが終了し、中断できることを知らせます。

(ソース:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

0

読むiOS Backgrounding with Tasks

時間は600分で10分でバックグラウンドになります。

あなたはあなたの必要性だけで無線LANを回しているので、それは私が考える未満10分かかることがあり、オン

NSLog(@"Time Remaining: %f", [[UIApplication sharedApplication] backgroundTimeRemaining]); 

コードを使用して残り時間を知ることができます。

私の答えは明確で有用です。

関連する問題