didDiscoverServices未调用

时间:2015-10-08 12:56:27

标签: objective-c bluetooth-lowenergy core-bluetooth ios-bluetooth bluetooth-peripheral

我们尝试将蓝牙设备的数据读取到iphone。我们流了这个 https://github.com/paulw11/BTBackground。我们得到设备名称和设备uuid号码和连接也很好。但是我们没有得到数据。请指导我们

    -(void) centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral {
        self.connectedPeripheral=peripheral;
        NSLog(@"Connected to %@(%@)",peripheral.name,peripheral.identifier.UUIDString);
        peripheral.delegate=self;
        NSLog(@"DeviceInfoUUID %@",_deviceInfoUUID);

        [peripheral discoverServices:@[self.deviceInfoUUID]];
//we tried this also 
       // [peripheral discoverServices:nil];

    }
    #pragma mark - CBPeripheralManager delegate methods


    -(void) peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error {

         NSLog(@"peripheral.services    %@",peripheral.services);
        for (CBService *service in peripheral.services) {
            NSLog(@"Discovered service %@",service.description);
            if ([service.UUID isEqual:self.deviceInfoUUID]) {

                [peripheral discoverCharacteristics:nil forService:service];
            }
        }

    }

请指导我们代码中有什么问题。我们是新的

1 个答案:

答案 0 :(得分:0)

您是否使用以下代码扫描了外围设备:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
    [self.bluetoothManager scanForPeripheralsWithServices:nil options:options];