CoreBluetooth:CBPeripheral没有成员setnotifyValue iOS 10.0

时间:2016-12-09 13:14:12

标签: swift ios10 core-bluetooth cbperipheral cbperipheralmanager

我正在开发一个应用程序,我需要与外部设备建立蓝牙连接,并成功连接外部设备。

现在,在下面的CBPeripheralManager委托中,在iOS 10中生成错误并在iOS 9.0中完美运行

func peripheral(peripheral: CBPeripheral, didDiscoverCharacteristicsForService service: CBService, error: NSError?) {

    if serviceCharacteristics.keys.contains(service.UUID) {
        guard let characteristics = service.characteristics else { return }

        peripheral.setNotifyValue(true, forCharacteristic: characteristics[0])

}

我在下面的行中收到错误,

peripheral.setNotifyValue(true, forCharacteristic: characteristics[0])

它说CBPeripheral没有成员setNotifyValue。我不明白。我做了一些解决方法,但没有得到任何帮助。

2 个答案:

答案 0 :(得分:2)

您使用的是Swift 3吗? The method signature has changedsetNotifyValue(_:for:),即:

peripheral.setNotifyValue(true, for: characteristics[0])

答案 1 :(得分:0)

你有没有迁移到swift 3?新语法使用“for”而不是“forCharacteristic”:

peripheral.setNotifyValue(true, for: characteristics[0])