我有一台蓝牙LE设备,我只需要扫描它,我已经在iPhone SDk中使用了Core Bluetooth Framework。
以下是示例代码,
manager是CBCenterManager的对象,它在init方法中写入:
manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
扫描过程:
- (void)startScan
{
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:FALSE], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
manager.delegate = self;
[manager scanForPeripheralsWithServices:nil options:options];
}
现在我在委托方法中获得了该设备,
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
NSLog(@"Did discover peripheral. peripheral: %@ rssi: %@, UUID: %@ advertisementData: %@ ", peripheral, RSSI, peripheral.UUID, advertisementData);
}
**这里我只写了几行代码,
这不足以让我在界面中显示。因为peripheral.UUID
对于每个设备都是唯一的,如果我更改设备以发现BLE,它将被更改。
所以我想要蓝牙LE设备的唯一地址,我在每个iOS设备上都有相同的地址。
与 peripheral.UUID 类似 1FE639DB-3C54-B5A8-74A4-3D9FBFCAD074
我在android中发现了同样的东西,如 C8:4D:93:78:98:AE 这个。
并且它对所有Android设备都是唯一的,
所以我在iPhone SDK中搜索同样的东西。
是否可以在iPhone SDK中获得蓝牙LE的相同唯一地址?
感谢您抽出时间阅读问题。