如何从 iOS 更改 BLE 设备名称?

How to change BLE device name from iOS?

我想在 iOS 应用程序中更改 BLE 设备名称。

目前我做了这些事情:

  1. 已扫描
  2. 已连接到我要更改的 BLE
  3. 发现它的服务和特点

但是我不确定要更改它的名称,我能做什么?我检查了其他问题,但不能保证有帮助。

它需要向设备传递一个带有 "name" 参数的新名称。

目前,我确实在做这件事;这是废话:

[peripheral writeValue:@"new name of the device" forCharacteristic:[peripheral.services firstObject] type:CBCharacteristicWriteWithResponse];

我缺乏知识:

这里我们没有传递任何参数,是吗?

请帮忙

您需要阅读 writeValue 的文档,因为它甚至不接近实际参数应该是什么。

  1. 值应该是 NSData,而不是字符串。在您的字符串上调用 dataUsingEncoding: 并传入正确的编码值(可能是 ascii 或 utf8:检查您的设备文档)。
    1. Characteristic 是一个 CBCharacteristic 但您传递的是一个 CBService

您应该参考文档或咨询制造商是否允许覆盖外围设备名称。如果允许,那么在什么位置。