Регистрация соединения Bluetooth BR / EDR (Classic) в iOS13 - PullRequest
0 голосов
/ 28 октября 2019

В iOS 13 должна быть возможность регистрироваться на события подключения устройств BR / EDR Bluetooth (Classic). Я следовал инструкциям, приведенным в ключевом примечании WWDC , в частности я запускаю свой CBCentralManager следующим образом:

func initCentralManager() {

    if self.centralManager == nil{

        self.centralManager = CBCentralManager.init(delegate: self, queue: nil, options:[CBCentralManagerOptionRestoreIdentifierKey:"myCentralManagerIdentifier"]);

        if #available(iOS 13.0, *) {
            let matchingOptions = [CBConnectionEventMatchingOption.serviceUUIDs:[CBUUID(string: "1108"),
                                                                                 CBUUID(string: "110A"),
                                                                                 CBUUID(string: "110B"),
                                                                                 CBUUID(string: "110C"),
                                                                                 CBUUID(string: "110D"),
                                                                                 CBUUID(string: "110E"),
                                                                                 CBUUID(string: "110F"),
                                                                                 CBUUID(string: "111F"),
                                                                                 CBUUID(string: "1203"),
                                                                                 CBUUID(string: "1204"),
                                                                                 CBUUID(string: "111E"),
                                                                                 CBUUID(string: "0017"),
                                                                                 CBUUID(string: "0019")]];

            print("REGISTERING FOR BR/EDR CONNECTION EVENTS");
            self.centralManager!.registerForConnectionEvents(options: matchingOptions);

        } else {
            // Fallback on earlier versions
        };
    }
}

Затем я реализую обратный вызов:

    func centralManager(_ central: CBCentralManager, connectionEventDidOccur event: CBConnectionEvent, for peripheral: CBPeripheral) {

    print("BR/EDR CONNECTED!!!!");

}

Как показано в видео WWDC, я собираюсь перейти к настройкам телефона и могу успешно выполнить сопряжение моего устройства Bluetooth BR / EDR (аудиоустройство Bluetooth), однако обратный вызов не активируется.

enter image description here

Я не знаю точно UUID, используемый моим классическим Bluetooth-устройством, поэтому я включил в список все связанные с аудио UUID, которые янайдено здесь .

Правильно ли указан UUID? Я также попытался добавить их, используя длинную запись (например, 0000 1108-0000-1000-8000-00805F9B34FB), но ничего не происходит, обратный вызов по-прежнему не срабатывает, когда устройство подключено в настройках Bluetooth.

Как получить объявление UUID на моем устройстве?

Заранее спасибо

...