Intereting Posts
iOS 10 UIImagePickerController черный экран 'Expression myExpression unused' в NSString при использовании переменных Сбой приложения после изменения настроек фотографий iOS – Push Segue не работает даже с NavController iPhone UIWebView перехватывает HTTP-вызовы для перенаправления через прокси-сервер Объект ViewController равен нулю Подключение приложения iOS к серверу Ejabberd, размещенному на Amazon Нет действительных ключей подписи кода iPhone, найденных в keychain в xamarin Подключение UITextField для обновления ярлыка Ничего не происходит при отправке push-уведомлений с raix: push Как остановить воспроизведение встроенного видео YouTube без паузы в веб-представлении? (неатомные, readwrite, сохраняются) и (неатомные, сильные) в Objective-C ARC Swift In App сбой "сообщение отправлено на освобожденный экземпляр" в проекте Xcode Я получаю эту ошибку компоновщика с кодом завершения 1 Проблема с несколькими автопроизводителями Firebase

Иногда ответ BLE-сканирования не включает kCBAdvDataLocalName

Я разрабатываю приложение iOS, которое работает как центральное устройство BLE.
У меня есть вопрос об ответе на запрос сканирования.

Мое приложение работает на переднем плане и многократно выполняет сканированиеForPeripheralsWithService: options () каждые 3 секунды.

[_centralMgr scanForPeripheralsWithServices:nil options:nil]; 

Почти во всех случаях, когда вызывается didDiscoverPeripheral (), мое приложение может получить localName периферии с ключом @ "kCBAdvDataLocalName".
(Периферийное устройство разработано другим поставщиком)

Ниже представлен вывод NSLog файла didDiscoverPeripheral () с именем localName .

 [MyApp] <Warning>: (-[MyBleCentralMgr centralManager:didDiscoverPeripheral:advertisementData:RSSI:]) [name:DeviceName], [state:0], [identifier:240FF7D3-45D5-C4EE-2E96-BED578225C56] [MyApp] <Warning>: (-[MyBleCentralMgr centralManager:didDiscoverPeripheral:advertisementData:RSSI:]) RSSI=-63, advertisementData={ kCBAdvDataChannel = 39; kCBAdvDataIsConnectable = 1; kCBAdvDataLocalName = "DeviceName"; kCBAdvDataManufacturerData = <[manufactorer data of peripheral device]>; } 

Но иногда (в редких случаях) ответ сканирования не имеет localName .
(Но у него есть другое имя в [peripheral.name])

Ниже приведен NSLog из didDiscoverPeripheral () без localNam e.

 [MyApp] <Warning>: (-[MyBleCentralMgr centralManager:didDiscoverPeripheral:advertisementData:RSSI:]) [name:DeviceName], [state:0], [identifier:240FF7D3-45D5-C4EE-2E96-BED578225C56] [MyApp] <Warning>: (-[MyBleCentralMgr centralManager:didDiscoverPeripheral:advertisementData:RSSI:]) RSSI=-63, advertisementData={ kCBAdvDataChannel = 39; kCBAdvDataIsConnectable = 1; kCBAdvDataManufacturerData = <[manufactorer data of peripheral device]>; } 

Инженер периферийного устройства говорит: «Я всегда включаю localName в ответе на сканирование».

Если у кого-нибудь есть информация о моих вопросах, пожалуйста, дайте мне знать.

  1. Возможно ли это явление? ( LocalName исчезает из ответа на сканирование)
  2. Какая разница между localName advertdata и peripheral.name

Solutions Collecting From Web of "Иногда ответ BLE-сканирования не включает kCBAdvDataLocalName"