gpt4 book ai didi

ios - CoreBluetooth AdvertisementData 不包含 CBAdvertisementDataLocalNameKey?

转载 作者:搜寻专家 更新时间:2023-10-30 20:16:20 26 4
gpt4 key购买 nike

我目前正在构建一个我想扫描可用设备的 CoreBluetooth 应用程序,问题是“didDiscoverPeripheral”中的 AdvertismentData 字典不包含 CBAdvertisementDataLocalNameKey - 它只包含 CBAdvDataChannel 和 CBAdvDataIsConnectable。这意味着我无法识别我的 BLE 设备。

有趣的是,Lightblue 应用程序(iOS BLE 扫描仪)能够显示名称,因此大概能够访问“CBAdvertisementDataLocalNameKey”。

有谁知道我做错了什么?我真的为此焦头烂额!

这是我的代码的基本示例:

-(void)scan
{

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
[mCentralManager scanForPeripheralsWithServices:nil options:options];
}

- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
{
}

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
for(id key in advertisementData)
NSLog(@"key=%@ value=%@", key, [advertisementData objectForKey:key]);
}

最佳答案

尝试使用已发现外围设备的名称属性,而不是使用广告数据:

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
NSString *thePeripheralName = peripheral.name;
}

关于ios - CoreBluetooth AdvertisementData 不包含 CBAdvertisementDataLocalNameKey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29486069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com