我在Mac mini上使用CoreBluetooth时遇到了一个奇怪的问题。根据设计,我的代码应在连接后发现特征服务后收到数据更新通知。问题是如果事件在最初的20秒内被硬件触发,则不会更新数据。
我在iOS中测试了相同的代码,但一切正常,没有任何dealy。所以问题是:
Apple首次BLE连接后会延迟 - [didUpdateValueForCharacteristic:]通知吗?
此外,我正在使用自定义配置文件(自定义UUID)。
感谢。
答案 0 :(得分:0)
当您的应用调用时,会调用此方法 readValueForCharacteristic:方法,或外设通知时 你的应用程序表示通知的特征值 和指示已启用(通过成功呼叫 setNotifyValue:forCharacteristic :)已更改。
所以不,不能保证在发现特征后会调用此方法。您必须致电readValueForCharacteristic
或订阅通知并等待外围设备发送通知。
但是,在发现特征后,您可以使用peripheral:didDiscoverCharacteristicsForService:error:
方法获得其值。