У меня возникла проблема с CoreBluetooth Framework.CBPeripheral, получить локальный периферийный идентификатор
Как пример, у меня есть два устройства, и каждое устройство выполняет как рекламу, так и сканирование. Таким образом, я использую CBCentralManager и CBPeripheralManager для каждого.
Итак, для упрощения проблемы предположим, что Device1 осуществляет широковещательную рассылку и сканирование Device2.
Когда CBCentralManager на устройство2 обнаружить DEVICE1, обратного вызова centralManager: didDiscoverPeripheral: advertisementData: RSSI: называется, и я могу получить идентификатор DEVICE1 по телефону [peripheral.identifier UUIDString].
Как я могу получить идентификатор локального устройства (Device2)? Я имею в виду, что оба устройства рекламируются, Device1 также обнаружит Device2 и получит его периферийный идентификатор, BUT КАК я могу получить этот идентификатор (какой-то собственный адрес) на Device2?
P.S. Я знаю, что этот идентификатор не уникален для каждого устройства и может меняться с течением времени, это не проблема.
Спасибо за ответ! Возможно ли отправить это значение от приемного устройства? @davidgyoung – user1612361
У вас может быть идентификатор как характеристика GATT, но вам нужно установить соединение BLE для его чтения. Это немного медленный и склонный к ошибкам, но возможно. – davidgyoung
Спасибо, @davidgyoung. Но можно ли подключиться к периферии в фоновом режиме? Могу ли я принять это соединение или он требует состояния переднего плана? – user1612361