我正在尝试使用核心蓝牙连接两个iPhones。一个是运行外围设备,另一个是中央设备。这两个设备好像是连在一起的。在典型的控制流中,每个方法都会被调用,直到外围端不调用peripheralManager:central:didSubscribeToCharacteristic:
,中央端也不调用peripheral: didUpdateValueForCharacteristic: error:
。但是,如果我调用readValueForCharacteristic:
,它会工作并获取第一个值,但它似乎没有注册通知,并且我们在updateValueForCharacteristic:方法中得到“未知错误2”。我已经检查了我能找到的所有示例代码(心脏监视器、名片等)。我的代码是完全相同的,但我不能让它工作。
有谁知道这个问题是什么吗?
发布于 2013-08-02 05:44:25
我在一段时间前解决了这个问题,但我想我会发布一个解决方案,因为它可能对人们的发展有用……这个问题的解决方案与蓝牙缓存有关。基本上,问题是有些东西缓存不正确……我重新启动了我的手机,清除了BLE缓存,并对我正在测试的手机执行了同样的操作,瞧,它起作用了。我建议如果人们有这些类型的BLE问题(特别是如果你已经注册了你的手机作为外围设备和类似代码的中心),你可以通过重新启动来清除缓存!
https://stackoverflow.com/questions/17360347
复制相似问题