在iOS设备上写入描述符BLE

时间:2018-09-20 15:20:12

标签: ios bluetooth core-bluetooth

我已经创建了一个简单的应用程序,我的要求是向外围设备写入描述符以获取Sensor数据。苹果文档中有一种方法writeValue(data:Data, descriptor: CBDescriptor),但是当我尝试执行该方法时,却得到了NSException的说明

  

“由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'客户端特征配置描述符必须使用setNotifyValue:forCharacteristic:'配置。

有人可以告诉我如何编写描述符吗?

1 个答案:

答案 0 :(得分:0)

您应该致电WriteValue,而不是致电SetNofifyValue

我正在使用Xamarin,代码如下(对于xcode应该是相同的原理)

void SwitchNotify(CBCharacteristic mychar,bool SwitchOn)
{
    mychar.Service.Peripheral.SetNotifyValue(SwitchOn,mychar);
}

我不确定是否可以直接编写描述符,或者为什么苹果决定只允许使用此方法进行通知/指示。 Android和Windows(UWP)都允许直接编写描述符。