1:用藍(lán)牙工具測(cè)試是否是硬件問(wèn)題,我用lightBlue測(cè)試硬件是沒(méi)問(wèn)題的
2:那就是我的問(wèn)題了,最后解決如下:需再外部斷開(kāi)的回調(diào)中,重新初始化藍(lán)牙設(shè)備管理對(duì)象,重新啟動(dòng)搜索就可以搜索到該設(shè)備了
//Peripherals斷開(kāi)連接
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error{
NSLog(@">>>外設(shè)連接斷開(kāi)連接 %@: %@___需要連接的設(shè)備:%@__來(lái)自外部斷開(kāi):%d", [peripheral name], [error localizedDescription],[self.needReConnectPeripheral name],isFromReconnect);
//清除當(dāng)前連接
[self removeDisconnectPeripheral:peripheral];
if(isFromReconnect){//來(lái)自重連前的斷開(kāi)
isFromReconnect = NO;
if(self.needReConnectPeripheral){
self.peripheral = self.needReConnectPeripheral;
[manager connectPeripheral:self.peripheral options:nil];
}
}else{//來(lái)自外部斷開(kāi)
//清除所有重新開(kāi)始
[self.peripheralArray removeAllObjects];
//初始化并設(shè)置委托和線(xiàn)程隊(duì)列,最好一個(gè)線(xiàn)程的參數(shù)可以為nil,默認(rèn)會(huì)就main線(xiàn)程
manager = [[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_main_queue()];
[manager scanForPeripheralsWithServices:nil options:0];
}
}