好的,到目前为止,我在核心蓝牙之旅中取得了成功。我只需要澄清一些关于在我的应用程序中使用蓝牙的最佳实践的事情。我的查询是:
首先,我想知道如何最好地优化我的代码。我是否必须发现并连接要在其上使用蓝牙的每个页面?我如何连接到外围设备并在应用程序的下一页上使用该连接,而无需在任何地方调用didConnectPeripheral:
函数?
其次,我一直想将两个外围设备连接到我的应用程序。我知道这是可能的,但它是如何工作的呢?连接是分时还是同时发生?我是否必须断开一个连接才能访问另一个?将两个设备连接到应用程序而不会相互干扰的最佳方法是什么?
任何方向将不胜感激!干杯
- 不,您无需为拥有的每个"屏幕"连接到设备。创建一个
CBCentralManager
,连接到给定设备一次,连接将在此CBCentralManager
的整个生命周期内存在(除非您明确告诉它断开连接)。 - 您可以使用单个
CBCentralManager
同时连接到多个CBPeripheral
设备,但CBPeripheral
无法连接到任何人,它只接受来自CBCentral
的连接。
最近,我发布了自己的Core蓝牙技术包装器,称为YRBluetooth。它通过提供另一个抽象级别简化了许多 CoreBluetooth 的事情.在那里,您可以找到使用YRBluetooth构建的简单演示聊天应用程序。