gpt4 book ai didi

ios - 外设名称不符合 NameKey

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:08:06 25 4
gpt4 key购买 nike

我有一个模拟心率监测外围设备的应用程序(The peripheral app)。我还有一个接收数据并显示数据的应用程序(中央应用程序)。

中央应用根据其名称决定连接到已发现的外围设备。

问题是这两个应用程序都运行良好,只是名称始终是 “iPhone”

广告是这样做的:

- (IBAction)switchChanged:(id)sender
{
if (self.advertisingSwitch.on) {
NSDictionary *advData =
@{CBAdvertisementDataLocalNameKey:@"Custom Name",
CBAdvertisementDataServiceUUIDsKey:@[[CBUUID UUIDWithString:@"180D"]]};
[self.peripheralManager startAdvertising:advData];
NSLog(@"Advertising");
}

else {
[self.peripheralManager stopAdvertising];
[[self timerInterval] invalidate];
NSLog(@"Stopped advertising");
}
}

但在中央一侧,里面

- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)aPeripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI

名称属性从未改变。

有什么应该做的吗?

最佳答案

我在 CBPeripheral.name 中观察到的是,该设备实际上会将名称设置为您使用 CBAdvertisementDataLocalNameKey 选择的名称。但是,这个名称并不持久。如果断开主控再重新连接,名称一般已经切换为“iPhone”。如果外围设备因错误而断开连接,我看到它会使用正确的外围设备名称重新连接,但使用新的 UUID。

可能还有其他情况名称也切换为 iPhone。

这似乎是 iOS 中的错误。我在报告之前寻求确认。

关于ios - 外设名称不符合 NameKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559018/

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