Я пытаюсь создать приложение, способное настроить устройство с низким энергопотреблением Bluetooth.Как сейчас приложение подключается к устройству, но, насколько я понимаю, приложение не обнаруживает службы устройств BLE.
Я знаю, что устройства BLE имеют ряд служб, поскольку приложение Android уже существует,который может настроить то же устройство.
Мой код подключения выглядит следующим образом:
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
if peripheral.name == "Sensor"{
if let name = peripheral.name {
foundPeripherals.append(name)
sensor = peripheral
sensor.delegate = self
centralManager.connect(sensor, options: nil)
} else {
foundPeripherals.append(peripheral.identifier.uuidString)
}
RSSIs.append(RSSI)
if peripheral.name != nil {
// For viewing the data in the console
print("--->Peripheral device<---")
print("Name: \(peripheral.name as Any)")
print("UUID: \(peripheral.identifier.uuidString)")
print("RSSI: \(RSSI)")
print(" - - - - - - - - - - - - - - ")
print(advertisementData)
}
connectTableView.reloadData()
}
}
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
print("-->Connected to Sensor<--")
print("Sensor info: \(peripheral)")
centralManager?.stopScan()
peripheral.delegate = self
peripheral.discoverServices(nil)
}
Но я получаю этот вывод в моей консоли:
--->Scanning started<---
--->Peripheral device<---
Name: Optional("Sensor")
UUID: 1AC3DC85-61E0-C3E9-0E33-D98F1D1CA791
RSSI: -43
- - - - - - - - - - - - - -
["kCBAdvDataServiceUUIDs": <__NSArrayM 0x2814852c0>(
6E400001-B5A3-F393-E0A9-E50E24DCCA9E
)
, "kCBAdvDataIsConnectable": 1, "kCBAdvDataLocalName": Sensor]
-->Connected to Sensor<--
Sensor info: <CBPeripheral: 0x282bd0820, identifier = 1AC3DC85-
61E0-C3E9-0E33-D98F1D1CA791, name = Sensor, state = connected>
2018-10-03 14:56:31.029079+0200 Sensor[9686:3266937]
[CoreBluetooth] API MISUSE: Discovering services for peripheral
<CBPeripheral: 0x282bd0820, identifier = 1AC3DC85-61E0-C3E9-0E33-
D98F1D1CA791, name = Sensor, state = connected> while delegate is
either nil or does not implement peripheral:didDiscoverServices:
Этоне обнаруживает / не показывает никаких услуг
Надеюсь, что это имеет смысл, и вы, ребята, можете помочь
-Thomas