CBCentralManager setNotifyValue:不工作

时间:2013-06-28 08:23:42

标签: ios objective-c core-bluetooth

我正在尝试使用Core Bluetooth连接两部iPhone。一个是外围设备,另一个是中心设备。似乎两个设备已连接。并且在典型的控制流程中调用每个方法,直到peripheralManager:central:didSubscribeToCharacteristic:没有在外围端被调用,并且peripheral: didUpdateValueForCharacteristic: error:没有被调用到中心端。但是,如果我调用readValueForCharacteristic:它可以工作并获取第一个值,但它似乎没有注册通知,我们在updateValueForCharacteristic:方法中得到“未知错误2”。我一直在查看我能找到的所有示例代码(心率监视器,名片等),而我的代码完全相同,但我无法使其工作。

任何人对这个问题都有什么想法?

1 个答案:

答案 0 :(得分:2)

我刚刚解决了这个问题,但我想我会发布一个解决方案,因为它可能会对未来的人有用......这个问题的解决方案与蓝牙缓存有关。基本上,问题是某些东西已经不正确地缓存了...我重新启动了我的手机,它清除了BLE缓存,并为我测试它的手机做了同样的事情,并且它有效。我建议如果人们有这些类型的BLE问题(特别是如果你将手机注册为外围设备和类似代码的中心),你可以通过重新启动来清除缓存!