1

我正在尝试在 CBCentralManager 的帮助下使用以下方法配对蓝牙设备。

- (void)connectPeripheral:(CBPeripheral *)peripheral options:(NSDictionary *)options;

CBConnectPeripheralOptionNotifyOnDisconnectionKey在选项字典中传递给 true 。

它第一次工作并弹出要求确认配对并连接设备。当我使用断开此设备时如何

- (void)cancelPeripheralConnection:(CBPeripheral *)peripheral;

或设备超出范围,然后当我尝试使用相同的"connectPeripheral: options:"方法连接同一设备时,它没有连接。我在这里做错了什么。

4

1 回答 1

0

检查您的委托函数didDisconnectPeripheral,您可能错过了设置或重置标志。

CoreBluetooth的示例代码:心率监视器

/*
 Invoked whenever an existing connection with the peripheral is torn down. 
 Reset local variables
 */
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)aPeripheral error:(NSError *)error
{
    self.connected = @"Not connected";
    [connectButton setTitle:@"Connect"];
    self.manufacturer = @"";

    if( peripheral )
    {
        [peripheral setDelegate:nil];
        [peripheral release];
        peripheral = nil;
    }
}
于 2012-10-31T09:20:55.743 回答