Objective C-BLE device制造商数据比较

时间:2016-01-22 08:51:34

标签: ios objective-c bluetooth-lowenergy

我的任务是将制造商数据与字符串进行比较以显示BLE设备。

-(void)centralManager:(CBCentralManager *):didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
    NSString *manufac=[advertisementData objectForKey:CBAdvertisementDataManufacturerDataKey];
    NSString *string=@"57394423 4334445 55";
    if([string isEqualToString:manufac])
       NSLog(@"yes it is the device");
    else
       NSLog(@"sorry not a device");
}
当打印时,

'manufac'给出结果为< 57394423 4334445 55>这在任何时候都没有被证明是正确的。 如何比较?请帮忙。

1 个答案:

答案 0 :(得分:0)

CBAdvertisementDataManufacturerDataKey返回的对象是NSData对象。 您正在将其分配给错误的NSString对象。

要获取UUID,您可以执行以下操作:

NSData *manufacturer = [advertisementData objectForKey:CBAdvertisementDataManufacturerDataKey];
NSUUID *uuid = [[NSUUID alloc] initWithUUIDBytes:manufacturer.bytes];

然后将此UUID与您要搜索的UUID进行比较。如果您需要实际的NSString表示,请使用uuid.UUIDString