[英]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.