CBCentralManager *经理EXC_BAD_ACCESS与iOS7.0

时间:2013-09-18 22:05:54

标签: cbcentralmanager

我刚刚升级到Xcode V5.0(5A1413)构建成功但是针对模拟器运行程序会导致属性定义出错:

@property(nonatomic,strong)CBCentralManager * manager; - >线程1:EXC_BAD_ACCESS(代码= 2,地址= 0x8)

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,最后诉诸于此:

UIDevice *currentDevice = [UIDevice currentDevice];
if ([currentDevice.model rangeOfString:@"Simulator"].location == NSNotFound) {
    self.centralMgr = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
}

在模拟器上,如果我防止创建CBCentralManager,我会看到centralManagerDidUpdateState:使用与我的强属性匹配的CBCentralManager *调用。它可以被引用,状态是CBCentralManagerStateUnsupported。这是有道理的,但如果我在那时我的强大的经理属性(因为我不会在不支持它的模拟器上做任何BLE)我得到了EXC_BAD_ACCESS。因此,在没有更好的答案的情况下,我建议您根本不要像我上面的代码那样防止启动经理。