1

特定の周辺機器をスキャンするアプリに取り組んでいます。周辺機器は、少量のデータを送信する必要があることがわかりました。

アプリはフォアグラウンドでもバックグラウンドでも動作します。このコードもplistに追加しました

UIBackgroundModes bluetooth-central iPhone がロックされ、周辺機器がアドバタイズを開始すると、呼び出されません

func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) {

いくつかの調査を行いましたが、答えが見つかりませんでした。

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

CBPeripheral検出されたインスタンスを保存します。

var activePeripheral: CBPeripheral!

または配列に追加します。複数の周辺機器を検出している場合。

var knownPeripherals = [CBPeripheral]()

このようにして、必要なものに再接続できCBPeripheralます (明らかに利用可能な場合)。

このデリゲート メソッドは、周辺機器が切断されたときに呼び出されますoptional func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error error: NSError?)。周辺機器への再接続を試みることで、利益のためにそれを使用することができます。

そして最後に、バックグラウンドで長期的なアクションを実行するための Apple リファレンスを確認する必要があります。

それが役に立てば幸い!

于 2015-06-17T03:35:37.650 に答える