0

私のアプリでは、BLE ペリフェラルに正常に接続し、特性をサブスクライブして、特性値に変更があるたびにアプリに通知を受け取ることができます。ただし、状態の復元中に中央マネージャーが再初期化された後、特性値の変更がアプリに通知されることはありません。以下は、状態の復元中に私が行うことです。

  • didFinishLaunchingWithOptions: で、復元識別子を使用して中央マネージャー オブジェクトを再インスタンス化します。
  • 次に、centralManager:willRestoreState: メソッドで、以前に接続されていた周辺機器を取得し、
    CBCentralManagerRestoredStatePeripheralsKey を使用してそれらに再接続します。

周辺機器に再接続するだけで、最初の起動時に行われるように、特性のサブスクリプションを内部で行うか、サービスを見つけて特性を明示的にサブスクライブしますか?

4

1 に答える 1