CoreBluetooth Framework に関する問題に直面しました。
例として、2 つのデバイスがあり、各デバイスが広告とスキャンの両方を実行します。だから、私はそれぞれにCBCentralManagerandを使いCBPeripheralManagerます。
したがって、問題を単純化するために、Device1がブロードキャストを行い、 Device2がスキャンを行っていると仮定しましょう。
Device2CBCentralManagerでDevice1を検出すると、コールバック
centralManager:didDiscoverPeripheral:advertisementData:RSSI:
が呼び出され、 を呼び出してDevice1識別子を取得できます[peripheral.identifier UUIDString]。
ローカル デバイス ( Device2 ) 識別子を取得するにはどうすればよいですか? 両方のデバイスがアドバタイズしている場合、Device1もDevice2を検出して周辺機器の識別子を取得しますが、 Device2でこの識別子 (ある種の自己アドレス) を正確に取得するにはどうすればよいですか?
PS この識別子はデバイスごとに一意ではなく、時間の経過とともに変化する可能性があることを知っていますが、それは問題ではありません。