Я сканирую устройства BlueTooth. Я хочу записать их в массив строк. Я хочу сохранить их, но получаю следующие ошибки:
Не удалось преобразовать значение типа 'CBUUID' (0x1f2760918) в 'NSString' (0x1f26a42d0).
CoreBT [9728: 3053605] Не удалось преобразовать значение типа 'CBUUID' (0x1f2760918) в 'NSString' (0x1f26a42d0).
У меня есть следующий код ниже. Нет ссылки на массив, так как я даже не могу получить его в строку.
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
if let peripheralName = advertisementData[CBAdvertisementDataLocalNameKey] as? String {
print("peripheral Name: \(peripheralName)")
let uniqueID = (advertisementData["kCBAdvDataServiceUUIDs"] as! NSArray).firstObject! as! String
// The above line produces an error
//Removing as! String will work prevent error but still cannot get from "any" to "string"
let x = advertisementData
print("x: \(x)")
let y = advertisementData["kCBAdvDataServiceUUIDs"]
print("y: \(y)")
print("uniqueID: \(uniqueID)")
self.UIDCountNumber = UIDCountNumber + 1
self.UID_Count.text = String(self.UIDCountNumber)//label counting devices
self.last_UID.text = uniqueID as? String //Label is not changing
}
}
Любые мысли о том, чтобы получить их как строки, чтобы я мог хранить их в массиве. Если есть способ получше, пожалуйста, дайте мне знать. Спасибо!