Bluetooth周辺機器に接続するiOSアプリがあります(接続ボタンと考える)。ペリフェラルは固定された場所にあるため、必ずしもiOSデバイスの範囲内にあるわけではありません。私のアプリはバックグラウンドタスクとして実行されることを意図されており、周辺機器は定期的に私のアプリケーションにボタンプレスを通知します。iOS BLEアプリをバックグラウンドで維持するベストプラクティス方法
私は、(私は)メモリ圧迫のために私のアプリを殺すことがあることがわかります。
を...周辺へのBluetooth接続が復元され、周辺にボタンが押された時はいつでも殺さアプリをリニューアルによって:私は、BLE状態の保存と復元が私を助けるだろうと思いました。しかし、この記事:
...(アントンによるコメント)その状態の回復を示唆しているようだ少しフレーク状で、BTは、機内モードに以降/オフされた後の状態を復元することはできません
これはBLE状態の復元でも同じですか?それを働かせようと時間を無駄にしていますか?それがうまくいくならば、どこにでもよい実装例がありますか?
状態の復元を使用できない場合は、他にもオプションがありますか?
- 私のアプリフットプリントを小さくしておくと、iOSで殺される可能性は低くなりますか?
- アプリを稼働させているリモートサーバに何らかのキープアライブ通信を追加しますか?
- メッセージやVOIPなどの機能をアプリに追加する(アプリストアの承認を得るには合法的である必要があります)。アプリケーションを再起動し、BLEペリフェラルによって接続が再確立されるか、またはウェイクアップでVOIP固有のAPI呼び出しのみが許可されるのでしょうか?
- 他に何か?
明らかに、上記のリストは、BLE状態の復旧が私の仕事をするのにあまり好ましくないとしています。どんなアドバイスも大変ありがとうございます。
飛行機モードをトグルした後に再接続しないことについてのコメントはどこにありますか?また、長期間接続していた場合は、再起動後に再起動することもかなり確実です。実際に状態の復元を実装しようとしましたが、問題がありましたか?私は、BLEがiOS上でうまく使えないことを発見しましたが、問題が発生する前に回避することから始めません。 (もちろん、あなたのメモリ使用量が多い場合はそれに取り組むべきですが、それはまったく別物です) –
飛行機モードの問題は、開発者が以下のようにいくつかの場所で言及しているのを見てきました。[link](https: //forums.developer.apple.com/thread/26798)(これはオリジナルの投稿のリンクと同じポスターです)、これらの問題が依然として持続しているのか、それとも古いバージョンのiOSに関連しているのかはわかりません。私は状態の復元を働かせようとしているが、私は私の時間を無駄にしていないことを確認したいいくつかの否定的な記事を見た!優れた実用的なソリューションへのリンクは素晴らしいでしょう! –
誰もが何らかのテクニックを提案できますか? –