Мы используем Swift и IOS CBCentralManager. У нас есть Bluetooth с низким энергопотреблением (устройство с двойным режимом)
Пакет объявления двухрежимного устройства не имеет имени или сокращенного имени из-за нехватки места.
Когда мы вызываем «scanForPeripherals(withServices:options:)» с сервисным UUID, который включен в рекламный фрейм, мы получаем ответ только в том случае, если мы также включили короткое имя устройства.
Таким образом, с полем имени мы можем обнаружить устройство. Без поля имени мы не можем обнаружить устройство. Мы ожидаем, что CBPeripheral будет возвращен, очевидно, с именем NIL.
Мы получаем ответ на более ранние модели Iphone, такие как Iphone 5, но более поздние модели Iphone и iPad не получают ответа.
Стороннее программное обеспечение, такое как Lightblue, может обнаруживать эти устройства. Это стороннее программное обеспечение правильно определяет каждый раз на каждом протестированном нами устройстве.
Должно быть что-то, что нам не хватает.