iOS10 以上蓝牙的回连出问题了

goyoho1 发布于 2016/10/24 12:51
阅读 1K+
收藏 0
iOS10 以上蓝牙的回连出问题了!设备在关机、手机蓝牙关闭后再开启,会调用 retrievePheripheralsArr = [self.manager retrievePeripheralsWithIdentifiers:@[[CBUUID UUIDWithString:ancsUUID]]];方法,但却不会返回数据!
以下是对上述方法的数组中数据获取:
         if (retrievePheripherals.count != 0)
            {
                for (CBPeripheral *p in retrievePheripherals)
                {
                    if ([p.identifier.UUIDString isEqualToString:ancsUUID])
                    {
                        self.myPeripheral = p;
                        [self.manager connectPeripheral:self.myPeripheral options:nil];
                        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isANCSPeripheral"];
                        return;
                    }
                }
            } 
加载中
0
goyoho1
goyoho1

自己找到原因了。系统自己回传的不是ANCSUUID(通知中心服务 UUID),而是CBUUID(core-bluetooth UUID)。传入数据不对,所以在调用方法后不会返回数据    所以不是苹果的锅~


iOS10 以上 权限 加强,必须使用ANCSUUID

返回顶部
顶部