0

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

当我离模块太远时,它会断开连接并出现以下错误

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

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

我还把断开连接时的 [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> 错误 = 连接意外超时。

有谁可以帮我离开这里吗?

4

0 回答 0