1

次の方法で CBCentralManager を使用して Bluetooth デバイスをペアリングしようとしています。

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

CBConnectPeripheralOptionNotifyOnDisconnectionKeyオプション ディクショナリで true に渡しています。

初めて動作し、ペアリングの確認を求めるポップアップが表示され、デバイスが接続されます。どのように使用してこのデバイスを切断するか

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

またはデバイスが範囲外になり、同じ方法を使用して同じデバイスに接続しようとすると、接続され"connectPeripheral: options:"ません。ここで私が間違っていること。

4

1 に答える 1

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;
    }
}
于 2012-10-31T09:20:55.743 に答える