2012-08-09 95 views
1

我試圖通過以下方法在CBCentralManager的幫助下配對藍牙設備。嘗試重新連接已配對的藍牙設備

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

我在選項字典中將CBConnectPeripheralOptionNotifyOnDisconnectionKey設置爲true。

它第一次工作,並彈出要求配對確認來設備連接。如何以往當我斷開採用

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

或設備該設備超出範圍,然後當我嘗試用相同的"connectPeripheral: options:"方法時不連接在同一臺設備連接。我在這裏做錯了什麼。

+0

大概發佈一些代碼會有幫助,沒有足夠的信息來說明什麼是錯的。 – justinkoh 2012-10-31 09:03:29

回答

0

檢查您的代理功能didDisconnectPeripheral,您可能錯過了設置或重置標誌。

來自CoreBluetooth: Heart Rate Monitor的示例代碼。

/* 
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; 
    } 
} 
相關問題