我试图连接到蓝牙设备BTLE。 我没有问题,发现周围。
然而,当我尝试连接到外围,我收到以下警告。
2013年4月5日22:10:36.110 CoreBluetooth [警告] 7DA9E322-D710-081B-4A9D-526DE546B13C,名称= “查找我的汽车更聪明”,IsConnected = NO>正在被同时连接dealloc'ed
此外,既没有相关的委托方法被调用:
didConnectPeripheral:
didFailToConnectPeripheral:
我一直在挣扎好几个小时了......请帮助。
简短的回答:您需要保留的外围。
龙解释:核心蓝牙不知道你是否有兴趣时,发现该外设。 连接到它是不够的,你需要保留它。
一个属性添加到您正在做的所有类:
@property (strong) CBPeripheral *connectingPeripheral;
然后分配外设这个属性的设备被发现的时候,你回来之前didDiscoverPeripheral
:
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
DDLogVerbose(@"Discovered peripheral: %@ advertisement %@ RSSI: %@", [peripheral description], [advertisementData description], [RSSI description]);
[central connectPeripheral:peripheral options:nil];
self.connectingPeripheral = peripheral;
}