繁体   English   中英

iOS 上的应用程序能否在 BLE 的设备信息服务中实现固件版本字符串特性

[英]Can an app on iOS implement the Firmware Version String characteristic in Device Information Service in BLE

我想在 iOS 上创建一个 BLE 外围设备作为应用程序,并在设备信息服务中实现固件版本字符串特性。

当我做:

deviceInformationService = CBMutableService(type: CBUUID(string: "0x180A"), primary: false)
deviceInformationService.characteristics = [
    manufacturerNameString,
    modelNumberString,
    firmwareRevisionString
]
peripheral.add(deviceInformationService)

func peripheralManager(_ peripheral: CBPeripheralManager, didAdd service: CBService, error: Error?)回调时出现错误:

Error Domain=CBErrorDomain Code=8 "The specified UUID is not allowed for this operation." UserInfo={NSLocalizedDescription=The specified UUID is not allowed for this operation.}

当我使用蓝牙资源管理器从 Mac 连接到 iPhone 并读取设备信息时,它显示

Manufacturer Name String = Apple Inc.
Model Number String = iPhone10,3

这不是我在 CBMutableCharacteristic 中设置的。 而且固件版本字符串也不存在。

有没有办法实现固件修订字符串?

设备信息服务属于设备,而不是您的应用。 您的应用与所有其他应用和操作系统共享 BLE 堆栈,因此您不能像这样覆盖系统范围的特征。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM