Имя Bluetooth-устройства не отображается (значение NULL) - PullRequest
0 голосов
/ 10 октября 2019

Надеюсь, у вас все хорошо, у меня возникла проблема, когда я ищу устройства Bluetooth, я получаю некоторые устройства с именем, но большинство устройств не предоставляют свое имя, и эти устройства отображают свое имя вBluetooth для Iphone, я попробовал некоторые решения

1 - сначала подключиться к устройству, а затем получить имя в делегате (имя_периодального_диспута), в этом я получаю ответ от нескольких устройств, в то время как другие устройства застряли в состоянии подключения 2- я пытался найтидля устройств с некоторыми задержками, чтобы я мог найти имя, но все еще застрял в той же проблеме

extension LandingPage : CBCentralManagerDelegate , CBPeripheralManagerDelegate {
    func centralManagerDidUpdateState(_ central: CBCentralManager) {

        switch (central.state) {
        case .poweredOff :
            print("bluetooth is off ")
            self.mainPeripheral.removeAll()
        case .poweredOn :
            print("bluetooth is on ")
            manager?.scanForPeripherals(withServices: nil, options: nil)
         }
     }
return 

Фактический результат:

<CBPeripheral: 0x282d090e0, identifier = D94CC0E6-0340-8406-4688-C38D593F3201, name = (null), state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = 04F5A632-3FBE-47A6-C6A6-2DDF9975184C, name = (null), state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = CE0FD194-7E7D-4004-C50B-049C2958F495, name = (null), state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = E780781F-7D6B-8052-9743-ECFEB5C534C8, name = (null), state = disconnected>

Ожидается:

<CBPeripheral: 0x282d0c0a0, identifier = 803732A6-31F9-A740-EC6A-8C9E3CDE8F71, name = Lefun, state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = 6C19BC9F-1891-82DE-51D6-0C0E371F2E03, name = LH719, state = disconnected>
...