【问题标题】:iPhone: How to erase/wipe out bluetooth 4.0 dataiPhone:如何擦除/擦除蓝牙 4.0 数据
【发布时间】:2012-07-19 11:05:13
【问题描述】:

我的蓝牙低功耗应用程序有一些major trouble 有时无法连接到我的设备(在线程中描述)。

在运行我的应用程序之前,我需要从以前的连接中清除所有存储的数据,据我所知,这只能通过重新启动手机来完成。有没有其他方式,最好是编程方式来做到这一点?

谢谢

【问题讨论】:

  • iPhone 在连接到蓝牙外围设备时似乎存储的数据,因为重新启动会清除一些影响我的应用的缓存/内存
  • 当你调用cancelConnection时,所有缓存的数据都应该被重置。你看到了什么不同的东西吗?
  • 我不知道它在存储什么,但是自从重启对我的问题有效后,有些东西被存储了,你不觉得吗?
  • 对不起,我很困惑。我假设您不想重新启动。但我不确定重新启动如何解决您的其他问题,即在多个发现回调中发现设备时重复。您是说在每次发现之间重新启动手机时看不到上述行为吗?
  • 没错,别担心,我也很困惑:)

标签: iphone objective-c core-bluetooth bluetooth-lowenergy


【解决方案1】:

我遇到了同样的问题,并找到了重现它的步骤。

当您将数据传输到外围设备时,它是 100% 可重现的

[peripheral writeValue:x forCharacteristic:y type:CBCharacteristicWriteWithoutResponse];

当外围设备超出范围并断开连接时。发生这种情况后,BLE 设备不再返回服务,只有重新启动才能解决问题。如果外围设备超出范围并在没有向其传输数据的情况下返回,或者如果

[peripheral writeValue:x forCharacteristic:y type:CBCharacteristicWriteWithResponse];

被使用...

其他断开连接似乎不会对其产生影响,例如关闭外围设备并在范围内重新启动外围设备,即使在传输数据时...

我知道这不是答案,但由于某种原因我似乎无法发表评论。

希望这有助于调试。

【讨论】:

  • 谢谢!我经历了完全相同的事情。唯一的问题是我认为我没有时间WriteWithResponse,因为我的应用程序正在飞行直升机,但我会在不久的将来尝试它并给你我的回应。另外,我想在你有足够的代表之前你不能发表评论。
  • 我尝试使用...WithResponse 写作,但对我没有多大帮助:\
  • 有人能告诉我把这个答案的 writevalue 语句放在哪里,x 和 y 的值是多少?谢谢
猜你喜欢
  • 1970-01-01
  • 2012-12-12
  • 2011-12-19
  • 2016-09-16
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多