ios CoreBluetooth 警告 is being dealloc'ed while pending connection

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

 

原文地址:https://www.cnblogs.com/cocoajin/p/4958564.html