0

CoreBluetooth を使用して、特定の BLE デバイスがオンエアされるようにスキャンするアプリに取り組んでいます。デバイスがオンエアされ、読み取られ、操作されます。私の問題は、デバイスのプラグを抜いて数分後に再び差し込むと、didDiscoverPeripheralデリゲート メソッドが再度呼び出されないことです。このコードで「重複を許可する」オプションを指定しました。

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],@"CBCentralManagerScanOptionAllowDuplicatesKey", nil];

didDiscoverPeripheralモジュールが消えた後すぐに、そのモジュールが放送されるたびにメソッドを起動する方法はありますか? デバイスの切断と CoreBluetooth マネージャーが再びそれを見るまでの「タイムアウト」が何であるかを知っている人はいますか?

4

1 に答える 1

2

あなたのコード:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],@"CBCentralManagerScanOptionAllowDuplicatesKey", nil];

このコードはリテラル NSString @"CBCentralManagerScanOptionAllowDuplicatesKey" をキーとして使用していますが、実際のキーではありません。

する必要があります:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],CBCentralManagerScanOptionAllowDuplicatesKey, nil];
于 2013-11-08T07:41:16.133 に答える