我有一个小型 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> 错误 = 连接意外超时。
有谁可以帮我离开这里吗?