我正在使用Swift 3/X-Code开发iOS应用程序。这个应用程序需要蓝牙通信,我已经阅读了几个教程,让它工作。到目前为止(UI方面)一切正在发挥作用。但是我有下列问题,因为大多数我读过的教程都没有更新,斯威夫特3我认为,可能是这里的问题:Swift 3,展开外围名称(蓝牙BLE)
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
//What to do when it discovers a peripheral, add it to the array list
//print("Adding peripherals found to array: " + peripheral.name!)
//peripheralsFound.append(peripheral.name!)
print("Peripheral found!")
}
上面的代码已经几行注释掉,我想要找到的外设添加到数组中,但是如果我对peripheral.name中的任何行取消注释!在它的应用程序崩溃的错误“意外发现零,同时展开可选值”
我相信它与peripheral.name!这是由X代码本身修复的(它添加了!否则它不会编译) 我不能使peripheral.name显然是可选的,否则应用程序将无法编译,我不知道是否有其他方式来获得所发现的外设的名称,我会很感激任何指导。 谢谢!
谢谢你!一个后续问题,看起来我的手机正在查找3个“No Name”设备,除了peripheral.name之外,有什么更好的方法来识别这些设备 –
设备的名称应该是识别它的主要方法。除此之外,您可以使用广告数据,但没有其他与您可以使用的此功能提供的外围设备相关的属性。 –