2012-07-20 43 views
5

我有一些major trouble我的蓝牙低功耗应用程序有时会不管理连接到我的设备(在线程描述)。iPhone:如何消除/消灭蓝牙4.0数据

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

谢谢

+0

什么存储数据? – yuklai 2012-07-25 18:25:26

+0

数据的iPhone appearently商店连接到蓝牙外设时,因为重新启动会清除一些缓存/内存会影响到我的应用程序 – chwi 2012-07-25 22:16:15

+0

当你调用cancelConnection,所有缓存数据应该被重置。你看到不同的东西吗? – yuklai 2012-07-26 01:14:19

回答

3

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

它是100%可再现时,发送数据到外围用

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

而外围超出范围和断开连接。发生这种情况后,BLE设备不会返回更多服务,只有重新启动才能解决问题。如果外设在超出范围,回来不发送数据,或者如果

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

使用这不会发生......

其他断开似乎并不影响它,如由于断电外围甚至在传输数据时它备份,而在范围供电...

我知道这是不是一个答案,但它看起来像我不能因为某些原因发表评论。

希望这有助于调试虽然。

+0

谢谢!我经历了完全相同的事情。唯一的问题是,自从我的应用程序搭载直升机以来,我认为我没有时间'WriteWithResponse',但我会在不久的将来尝试它,并给您我的答复。另外,我想你不能评论,直到你有足够的代表。 – chwi 2013-07-02 11:39:41

+0

我试着用'... WithResponse'写作,但它对我没有多大帮助:\ – chwi 2013-07-31 11:56:08

+0

这对我有效! – 2015-09-24 15:38:32