Несколько каналов L2CAP на iOS (rdar: // 46227689) - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь открыть два канала L2CAP между iPhone и приложением, работающим на MacOS.

Приложение MacOS опубликовало два канала: PSM=193 и PSM=194.

Я открываю эти каналыв приложении для iOS:

peripheral.openL2CAPChannel(CBL2CAPPSM(193))
peripheral.openL2CAPChannel(CBL2CAPPSM(194))

И затем я получаю успешные обратные вызовы делегатов:

public func peripheral(_ peripheral: CBPeripheral,
                    didOpen channel: CBL2CAPChannel?, 
                              error: Error?) {

   print("Opened channel PSM is: \(channel.psm)")

   // Keep strong reference to opened channel
   openedChannels.append(channel)
}

Что интересно, так это вывод ...:

Opened channel PSM is: 193 
Opened channel PSM is: 193 // !?!

Делегатобратный вызов вызывается с другим экземпляром канала, но с тем же PSM.В приложении MacOS я получаю обратный вызов, хотя канал 194 был открыт.Однако когда я записываю некоторые данные в канал 194, они фактически отправляются на первый канал 193, который я открыл.Я что-то не так делаю или это ошибка CoreBluetooth?

...