gpt4 book ai didi

ios - CoreBluetooth 能否同时充当中心和外围设备(未知错误 0)?

转载 作者:行者123 更新时间:2023-11-29 12:58:37 25 4
gpt4 key购买 nike

我有一个执行以下操作的 OSX 应用程序:

  1. 启动中央管理器 [[CBCentralManager alloc] initWithDelegate:queue:] 并等待它初始化。
  2. 使用 [CBCentralManager connectPeripheral:options:]
  3. 连接到蓝牙 LE 外围设备
  4. 启动外设管理器[[CBPeripheralManager alloc] initWithDelegate:queue:options:] 并等待它初始化。
  5. 将服务添加到外设管理器[CBPeripheralManager addService:] 并等待它们完成添加。
  6. 开始转换广告[CBPeripheralManager startAdvertising:]并等待结果。

现在,我的回调 [CBPeripheralManagerDelegate peripheralManagerDidStartAdvertising:error:] 收到一个错误:“Error Domain=CBErrorDomain Code=0 “Unknown error”。 UserInfo=0x7fb23bf7ba50 {NSLocalizedDescription=未知错误。}”。

但是,如果我在 startAdvertising: 之前调用 [CBCentralManager cancelPeripheralConnection:],错误就会消失。

难道Mac不可能同时扮演Central Role和Peripheral Role吗?这个限制在 iOS 上也存在吗?这是硬件特定的限制,还是蓝牙 LE 固有的限制?

我正在运行 OSX 10.9 Mavericks 的 2011 年中期 Mac Mini 上对此进行测试。

最佳答案

我可以确认 iOS 上的 CoreBluetooth 没有这个问题,至少当我上次在 iPhone 5 的 iOS 6 上测试它时没有。iPhone 可以宣传为 BLE 外围设备,同时与另一个 BLE 外围设备作为 BLE Central 通话同时。我在 OS X 上没有结果。但如果 OS X 在一个更强大的平台上有这样的限制,我会感到非常惊讶。

关于ios - CoreBluetooth 能否同时充当中心和外围设备(未知错误 0)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20364911/

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