我正在使用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之外,有什麼更好的方法來識別這些設備 –
設備的名稱應該是識別它的主要方法。除此之外,您可以使用廣告數據,但沒有其他與您可以使用的此功能提供的外圍設備相關的屬性。 –