您的位置:首页 > 移动开发

iOS蓝牙开发连接系统或其他APP已经连接、配对成功的蓝牙设备

2017-04-05 12:07 721 查看
在蓝牙开发的时候,扫描外设的方法扫描到的设备只能是没有被连接的设备,也就是说如果有设备在本手机中已经连接配对成功了之后就不会被
[_centralManager scanForPeripheralsWithServices:nil options:nil];方法扫描到,一开始的手自己也没有注意到这个问题,结果在老板使用的工程中,老是出现系统已经连接上蓝牙设备了,然后就找不到设备了的情况,无奈,是时候正面这个问题了,在网上找了相关资料,原来只需要几行简单的代码就能实现。

下面贴代码


//已经被系统或者其他APP连接上的设备数组
NSArray *arr = [_centralManager retrieveConnectedPeripheralsWithServices:@[[CBUUID UUIDWithString:serviceUUID0],[CBUUID UUIDWithString:characteristicUUID4],[CBUUID UUIDWithString:characteristicHeartUUID0]]]; //UUID是外设的服务UUID,满足UUID 的外设就会放在数组中
[arr enumerateObjectsUsingBlock:^(CBPeripheral *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"连接=====%@ %lu /n%@",obj,(unsigned long)idx,obj.services);
[self discoverANCS:obj];
}];//其中,外设的UUID在

-(void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error中能够拿到

然后使系统、其他APP已经连接的设备在本App中可发现:

- (void)discoverANCS:(CBPeripheral *)peripheral{
[self centralManager:_centralManager
didDiscoverPeripheral:peripheral
advertisementData:[NSDictionary dictionary]
RSSI:@(0)];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息