ios BLE读取蓝牙地址

Posted 绿叶清风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios BLE读取蓝牙地址相关的知识,希望对你有一定的参考价值。

参考资料:
下载代码

主要思路:

1,连接BLE
2,读取1803服务下面特征值2A23的数据

//扫描到services
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(nullable NSError *)error
    if(error)
        NSLog(@"didDiscoverServices error");
        return;
    
    for (CBService *service in peripheral.services) 
        //扫描每个service的characteristics
        [peripheral discoverCharacteristics:nil forService:service];
    
 
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(nullable 

   ...
       for (CBCharacteristic *characteristic in service.characteristics) 
        if([characteristic.UUID.UUIDString isEqualToString:@"2A23"])
            if (characteristic.properties & CBCharacteristicPropertyRead) 
                NSLog(@"start read....");
                [peripheral readValueForCharacteristic:characteristic];
            else
                NSLog(@"2A23不支持read");
            
        
    
   ...


- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(nullable NSError *)error
    
    NSData *data = characteristic.value;
    NSString *resultStr = [self hexStringFromNSdata:data];
    
    
    if([characteristic.UUID isEqual:[CBUUID UUIDWithString:@"2A23"]])
      
        const Byte *bytes = [data bytes];
        NSMutableString *str = [[NSMutableString alloc]
                                 initWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",
                                 bytes[7],bytes[6],bytes[5],
                                 bytes[2],bytes[1],bytes[0]
                                 ];
        NSLog(@"macString===>%@",str);
    
    ....
 

以上是关于ios BLE读取蓝牙地址的主要内容,如果未能解决你的问题,请参考以下文章

ios BLE读取蓝牙地址

iOS蓝牙BLE读取数据最大大小

iOS 蓝牙与设备配对和取消配对

IOS 蓝牙 BLE 写入值返回“未知错误”

配置蓝牙广播地址类型

Android 低功耗Ble 蓝牙4.0多连接 开源框架