gpt4 book ai didi

ios - 从 CBCentral 更新特征值

转载 作者:行者123 更新时间:2023-11-29 02:42:16 24 4
gpt4 key购买 nike

我已经成功地让我的 iOS 应用程序(外设)向我的 OSX 应用程序(中央)发送消息。

我现在在尝试让 Central 更新特征值并从 Peripheral 读取它时遇到问题。

如果我将 CBCharacteristicProperties 更改为“通知”以外的任何内容,我的中心将无法订阅该特征,并出现以下错误:“不允许写入。”

self.transferCharacteristic = CBMutableCharacteristic(type: CBUUID.UUIDWithString(TRANSFER_CHARACTERISTIC_UUID), properties: CBCharacteristicProperties.Read, value: nil, permissions: CBAttributePermissions.Writeable)

据我了解,为了让 Central 写入外设,我应该在外设中使用上面的行与此事件的组合:

func peripheralManager(peripheral: CBPeripheralManager!, didReceiveWriteRequests requests: [AnyObject]!) {}

这在中央更新特征的值:

self.discoveredPeripheral?.writeValue(passwordData, forCharacteristic: self.characteristicSubscribed, type: CBCharacteristicWriteType.WithoutResponse)

请让我知道我做错了什么。任何展示如何做我想做的事情的示例项目都将受到高度赞赏。

谢谢

最佳答案

您需要通过组合枚举值将属性标记为可读和可写 -

var cbProperties = CBCharacteristicProperties.Read|CBCharacteristicProperties.Write
var cbPermissions = CBAttributePermissions.Readable|CBAttributePermissions.Writeable

var transferCharacteristic = CBMutableCharacteristic(type: CBUUID.UUIDWithString(TRANSFER_CHARACTERISTIC_UUID), properties: cbProperties, value: nil, permissions: cbPermissions)

关于ios - 从 CBCentral 更新特征值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25615576/

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