4

Bluetooth デバイスへの接続を数時間監視する必要がある BLE を使用して iOS 5 アプリケーションを開発しています。UIBackgroundModes の plist で bluetooth-central を使用してきましたが、デバイスが接続されている限り、アプリケーションを実行し続けることができました。切断されたら、再接続しようとします。デバイスが再び広告を開始するとすぐに、それもうまく機能します。

問題は、接続が切断され、ユーザーが他のアプリケーションの使用を開始した場合、再接続されないことです。

私は問題が何であるかを確認しようとしていましたが、私が理解している限り、メモリレベルが低い場合、デバイスが接続されているとアプリを強制終了できませんが、何もしなければ強制終了できますつながっている。iPhone の「LowMemory」ログで、アプリが投棄されていることがわかります。

アプリが投棄されないようにするにはどうすればよいですか?

4

2 に答える 2

4

あなたはそうしない。iOS ウォッチドッグは、フォアグラウンド アプリケーションの適切な実行を保証するために、できるだけ多くのリソースを解放する準備ができています。アプリケーションはもはやフォアグラウンドにないため、iOS は、必要なサービスを実行するのに十分なリソースがある限り、アプリが必要なサービスを実行できるようにします。バックグラウンドで実行されている位置情報サービスでも同様の問題が発生しました。

バックグラウンドで実行中のアプリケーションのメモリ フットプリントを確認します。必要のないものをリリースします。これにより、アプリが強制終了される頻度が減少します。

于 2012-09-10T14:18:16.913 に答える
0

悲しいことに、Apple が必要なサービスをユーザーに決定させないように、簡単な回避策を使用して、バックグラウンドで GPS を有効にするか、サイレント サウンドを鳴らすことができます。

もちろん、これはバッテリーを消費する回避策であり、アプリの検証が拒否される可能性があります。

于 2013-05-15T21:44:03.070 に答える