To check weather your device is connected or not, you can user these two delegate methods:
Objective C:
1) -(void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
2) -(void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
@property (nonatomic, strong) CBPeripheral *heartRatePeripheral;
#define heartRateServiceCBUUID [CBUUID UUIDWithString:@"0x180D"]
-(void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral
*)peripheral
{
[self.Customdelegate HRMoniterStatus:peripheral Status:@"Connected"];
[_heartRatePeripheral discoverServices:@[heartRateServiceCBUUID]];
}
CustomDelegate:
-(void)HRMoniterStatus:(CBPeripheral *)HRMoniter Status:(NSString
*)connectionStatus
{
NSLog(@"HRMoniter connection status ::- %@",connectionStatus);
}
Swift :
1) func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral)
2) func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?)
let heartRateServiceCBUUID = CBUUID(string: "0x180D")
let heartRatePeripheral : CBPeripheral
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral)
{
Customdelegate.hrMoniterStatus(peripheral, status: "Connected")
heartRatePeripheral.discoverServices([heartRateServiceCBUUID])
}
Custom Delegate:
func hrMoniterStatus(_ HRMoniter: CBPeripheral?, status connectionStatus: String?)
{
print("HRMoniter connection status ::- \(connectionStatus ?? "")")
}