一旦断开我的iOS应用程序,如何重新扫描蓝牙LE外设?

时间:2013-05-30 21:36:31

标签: ios core-bluetooth

我有一个小型iOS应用程序,连接到connectBlue生成的cB-OLP425i-26-A。 我有它显示模块的电池以及其他东西。

当我离模块太远时,它断开连接,我收到以下错误

CBUUID:E2ED3400-5650-3314-C2A8-C93508AFA475,错误:连接意外超时。

我想让应用程序继续扫描外设并在范围内重新连接。我似乎无法做到这一点。我试过插入一个if / else语句,好像模块没有连接,文本字段显示为“Disconnected”,如果连接“已连接”。然后我说如果文本字段显示“Disconnected”应用程序应扫描。这没用。

我也在断开[view setNeedsDisplay]时放入,然后将所有内容放入viewWillAppear动画中仍然没有运气。

任何人都可以解释我应该做什么或我做错了什么?

由于

[self stopScan] in didRetrievePeripherals 

[central stopScan] in didConnectPeripheral

添加不重新扫描或重新连接

然后添加

[self startScan] in didDisconnectPeripheral 

重新扫描并重新连接,但由于

而导致应用崩溃
- (void)startScan
{NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:FALSE], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
    [manager scanForPeripheralsWithServices:self.dicoveredPeripherals options:options];
}

和调试器中的此错误消息

由于未捕获的异常'无效对象'而终止应用程序,原因:'参数E2ED3400-5650-3314-C2A8-C93508AFA475,名称=“OBP425-0B32”,IsConnected = NO>无效'

当应用程序断开连接时,这是整个错误

断开外设:E2ED3400-5650-3314-C2A8-C93508AFA475,名称=“OBP425-0B32”,IsConnected = NO> with error =连接意外超时。

有人可以帮助我吗?

0 个答案:

没有答案