ペリフェラルに接続すると、(void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral;
がトリガーされます。そのため、BLEデバイスでペアリングが有効になっていると、ペアリングを求めるプロンプトが表示されます。ペアリングが成功しなかった場合、ペアリングに失敗した後に切断するコマンドがない場合は、接続されたままになりますが、サービス(*)と特性を検出しようとすると、 BLEデバイスの側面が設定されている)。
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
{
NSLog(@"Did connect to peripheral: %@", peripheral);
[peripheral setDelegate:self];
[peripheral discoverServices:nil]; //* discover peripheral services
}
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{
for (CBService *service in peripheral.services) {
NSLog(@"discovered service [%@]",service.UUID);
[peripheral discoverCharacteristics:nil forService:service];
}
}