ios CoreBluetooth 警告 is being dealloc'ed while pending connection
CoreBluetooth[WARNING] <CBPeripheral: 0x1780a53a0 identifier = 3F8E69BD-BE87-215F-3ADD-64AE670BD750, Name = "Alert Notifictaion", state = connecting> is being dealloc'ed while pending connection
使用cb,去链接外部蓝牙设备时出现的警告;
解决方式一:
创建一个 strong 或 retain 的
@property (strong,nonatomic) CBPeripheral *connectingPeripheral;
在扫描到设备的代理里面
self.connectingPeripheral = peripheral;
存储设备;
解决方式二:
创建一个可变的数组用来保存发布的设备
discoverPeripherals = [[NSMutableArray alloc]init];
在扫描到设备的代理里面
//[discoverPeripherals addObject:peripheral];
//扫描到设备会进入方法 -(void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI{ NSLog(@"11当扫描到设备:%@",peripheral.name); //[discoverPeripherals addObject:peripheral]; self.connectingPeripheral = peripheral; [central connectPeripheral:peripheral options:nil]; }
参考:http://stackoverflow.com/questions/15846663/ios6-cbperipheral-is-being-dealloced-while-connecting