I want use CoreBluetooth.framework in IOS8 to achieve data transfer, i did discover peripheral in the follow method and try connect the peripheral.
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
NSLog(@"Discover name : %@", peripheral.name);
[self.centralManager connectPeripheral:peripheral options:nil];
}
But it did not call the delegate methods didFailToConnectPeripheral or didConnectPeripheral , I waner what's wrong with it, is the code error or IOS8 need some extra things ? How to deal it, thank in advance!
here is my code in github ,I write a Program to be server and another be Central.
@Sj comment solved it for me, copying it into an answer in case someone will miss it:
Did u tried storing the peripheral object in an ivar and then connect to it? ie self.discoveredPeripheral = peripheral; [self.centralManager connectPeripheral:self.discoveredPeripheral options:nil];
I am using TemperatureSensor iOS sample app which didDiscoverPeripheral did not called. By reference the flow of Heart Rate Monitor Mac sample app. Please make sure the run sequence of code is:
1. centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_main_queue()];
2. - (void) centralManagerDidUpdateState:(CBCentralManager *)central
3. [centralManager scanForPeripheralsWithServices:...
- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:...
will be called afterwards.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With