IOS蓝牙已配对设备重新连接

今天在做运动手表IOS端的时候发现了一个问题,当手机与手表配对之后,如果手动杀掉APP,那么再次打开APP的时候APP是不会自动连接设备的,但是由于系统蓝牙此时还是与手表连接中的,因此重新搜索设备也无法搜索到,在经历一番度娘之后,最终让我找到了一个方法

retrieveConnectedPeripheralsWithServices

通过方法传入一个CBUUID(注意是serviceuuid)就可以获取当前已经连接的设备,通过这个方法就可以将蓝牙设备重新连接到APP中

不过使用此方法会返回一个CBPeripheral的数组,因此需要设置一个用户手动选择连接的设备或者是在APP中记住最后连接的设备

NSArray *arr = [self.CBcentralmagager retrieveConnectedPeripheralsWithServices:@[[CBUUID UUIDWithString:ServiceUUID]]];

if(arr.count>0) {

    CBPeripheral *per = arr[0];
    per.delegate = self;
    [self.CBcentralmagager connectPeripheral:peripheral options:nil];
}

这样就可以成功回调didDiscoverServices方法了

猜你喜欢

转载自blog.csdn.net/JiayaoXu/article/details/124001378
今日推荐