У меня две печатные платы BLE (изготовленные на заказ моей компанией), которые рекламируются. При сканировании они идентифицируются как одни и те же CBPeripheral, несмотря на разные имена и идентификаторы. Вот мой пульт индикации вызова делегата:CoreBluetooth идентифицирует два периферийных устройства как то же самое
centralManager didDiscoverPeripheral <CBPeripheral: 0x144d26c70, identifier = E0FE60A5-FC4A-A6C5-3868-7D0EEAA580CD, name = Board A3D43, state = disconnected>
centralManager didDiscoverPeripheral <CBPeripheral: 0x144d26c70, identifier = 2209CC24-05E8-8455-3A40-3F27AE9078DB, name = Board 51EB5E, state = disconnected>
Мой вопрос заключается в том, как будут CBPeripherals дифференцированы, если не по имени или идентификатору? Наша прошивка использует Bluetopia под капотом, возможно, там есть некоторая сериализация?
Два идентификатора и имена совершенно разные. Адрес памяти переменной является одинаковым, но в любом случае это бессмысленно. – Paulw11
Вы правы. Я получаю больше информации о решении, но он оказался связан с IRK. iOS рассматривала периферийные устройства как то же самое в приложении «Настройки» и во время процедур подключения, что вызывало у нас много проблем, и я думал, что адрес памяти может быть ключом. Поставит решение, когда у меня будет больше деталей. –