从外设更改CBAdvertisementDataManufacturerDataKey

有没有办法从CBPeripheralManager修改CBPeripheralManager ? 我知道我可以从CBCentralManager获取CBCentralManager

我想这样做的原因是因为我希望外设在不诉诸中央连接的情况下通告一个10字节的值,发现服务,然后读取一个包含10字节值的特征。

不,从iOS 7开始,目前还不可能。制造商数据由苹果公司保留,不可修改(至less在非越狱设备上)。 如果你正在为自己的外设写固件,这不会是一个问题。 但是由于CoreBluetooth API是苹果公司实际实施iOS Ble的固件之上的一层,我们面临着它们实际暴露的限制。 但是,您可以考虑为自己的自定义服务做广告,并显示与制造商数据相同的值。