IOS 蓝牙搜不到设备


图片描述

RT,不知道为什么搜不到设备,我用lightBlue也搜不到设备,然后我自己写的demo用ipad测试也是搜不到设备,求解,判断蓝牙是否打开那些方法都写了

  • (CBCentralManager *)mgr
    {
    if (!_mgr) {
    // 创建中心设备管理者,用来管理中心设备
    self.mgr = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
    }
    return _mgr;
    }
  • (void)viewDidLoad
    {
    [super viewDidLoad];

    // 扫描外设
    [self.mgr scanForPeripheralsWithServices:nil options:nil];

}
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{


 NSLog(@"搜到的peripheralName:%@----%@",peripheral,peripheral.name);

}
-(void)centralManagerDidUpdateState:(CBCentralManager *)central
{
switch (central.state)
{
case CBCentralManagerStatePoweredOn:
{
[self.mgr scanForPeripheralsWithServices:nil options:nil];


 NSLog(@"蓝牙已经打开");
    }
        break;

    default:
        NSLog(@"蓝牙没打开或设备不支持");
        break;
}

}

就这3个方法,我现在还在尝试能不能搜索到蓝牙,搜到再去考虑连接蓝牙
http://blog.csdn.net/pony_maggie/article/details/26740237 这是我参考的demo

蓝牙 ios bluetooth

丶BA忒SS 10 years, 3 months ago

可以的话放下代码,帮你调调 还有参考 参考链接

——————————————————————————————————————————————————

写好了,你的教程确实实现不了,可能iOS蓝牙的实现方式变过了,注意设置完代理,貌似现在scanForPeripheralsWithServices必须放在centralManagerDidUpdateState这里


 -(void)centralManagerDidUpdateState:(CBCentralManager *)central{
    switch (central.state) {
        case CBCentralManagerStatePoweredOn:
            [_manager scanForPeripheralsWithServices:nil options:nil];
            break;
        default:
            NSLog(@"不支持!!!");
            break;
    }
}

图片描述

永远D风雅 answered 10 years, 3 months ago

你的设备都是bluetooth 4.0的设备吗?

老湿大点力啊 answered 10 years, 3 months ago

Your Answer