【问题标题】:How can I implement Core Bluetooth Functionality for multiple devices?如何为多个设备实现核心蓝牙功能?
【发布时间】:2016-01-14 11:04:08
【问题描述】:

好的,到目前为止,我在核心蓝牙之旅中取得了成功。我只需要澄清一些关于在我的应用程序中使用蓝牙的最佳实践的事情。我的疑问是:

首先,我想知道如何最好地优化我的代码。我是否必须为要使用蓝牙的每个页面发现并连接?我怎样才能连接到外围设备并在应用程序的下一页上使用该连接,而不必在任何地方调用 didConnectPeripheral: 函数?

其次,我一直想将两个外围设备连接到我的应用程序上。我知道这是可能的,但它是如何工作的?连接是分时的还是同时发生的?我必须断开一个才能访问另一个吗?将两台设备连接到应用程序而不互相干扰的最佳方法是什么?

任何方向将不胜感激!干杯

【问题讨论】:

  • 使用单例管理您的 BLE 连接,允许在所有“页面”中保持连接。您可以同时连接到各种 BLE 设备(我认为限制为 8 个)。只需为他们保留参考资料。

标签: ios swift bluetooth bluetooth-lowenergy


【解决方案1】:
  1. 不,您不需要为您拥有的每个“屏幕”连接到设备。创建一个CBCentralManager,连接到给定设备一次,并且在此CBCentralManager 的整个生命周期内都将存在连接(除非您明确告诉它断开连接)。
  2. 您可以使用单个CBCentralManager 同时连接多个CBPeripheral 设备,但CBPeripheral 无法连接任何人,它只接受来自CBCentral 的连接。

最近我发布了自己的 CoreBluetooth 技术包装器,名为YRBluetooth。它通过提供另一个抽象级别简化了许多 CoreBluetooth 的事情。在那里您可以找到使用 YRBluetooth 构建的简单演示聊天应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2012-07-17
    • 2014-01-29
    • 2019-11-24
    • 2015-01-23
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多