iOS BLE 关于app连接已配对设备的问题

之前在做项目的时候遇到这个问题,我的设备是支持ANCS协议的,但是每次配对后系统就会自动和我的设备连接,我无法搜索到这个设备,通过 retrieveConnectedPeripheralsWithServices:这方法可以找到已经被连接上的所有设备,但是我想利用 connectPeripheral:options对找到的设备进行连接,但是不成功,纠结了好久终于给我发现问题,在已经搜索到系统已连接上的设备后,不应该继续走设备搜索的方法了,所以connectPeripheral:options对找到的设备进行连接和scanForPeripheralsWithServices 应该是两个分支,代码如下:

-(void)scanDevices:(blackscanPeriperalInfos)blackPeriperalInfos;

{

    //zwl

    //已经被系统或者其他APP连接上的设备数组

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

    if(arr.count>0)

    {

     for (CBPeripheral* peripheral in arr)

     {

             if (peripheral != nil)

             {

                 peripheral.delegate = self;

                 [self.CBcentralmagager connectPeripheral:peripheral options:nil];

             }

     }

    }

    else

    {

        [self.CBcentralmagager scanForPeripheralsWithServices:nil options:nil];

    }

}




转载于:https://my.oschina.net/u/2564478/blog/667507

你可能感兴趣的:(iOS BLE 关于app连接已配对设备的问题)