是否可以使用 CBPeripheral 通过蓝牙从 iOS 连接到 macOS

Posted

技术标签:

【中文标题】是否可以使用 CBPeripheral 通过蓝牙从 iOS 连接到 macOS【英文标题】:Is it possible to connect to macOS from iOS via bluetooth using CBPeripheral 【发布时间】:2020-04-05 06:01:20 【问题描述】:

我正在尝试使用蓝牙连接 ios 和 macOS。它们已经通过蓝牙连接,但是当我尝试使用 CBCentralManager 以编程方式快速检索它们时,didDiscover 外围设备没有列出它。我正在尝试打开外围设备。 openL2CAPChannel(0x1001) 与 macOS 但我无法将外围设备识别为 macOS

【问题讨论】:

【参考方案1】:

Core Bluetooth 旨在连接一侧的 iOS 或 macOS 设备和另一侧的配件。要在 Apple 设备上运行的应用程序之间进行连接,您可以考虑使用 Multipeer Connectivity 框架。

【讨论】:

感谢您的信息。是否可以通过 CoreBluetooth 进行连接。任何可用的示例@pommy @md12 Core Bluetooth 为 iOS 13 以来的蓝牙经典设备提供了额外支持。我怀疑这仅包括其他类型的配件,而不包括 iOS 或 macOS 设备,但不确定。苹果提供a sample code project。【参考方案2】:

是的,你可以。我已经为低功耗蓝牙连接做过很多次了。前几次我使用https://github.com/noble/bleno 将我的 MacOS 宣传为特定的外围设备。

我一直在慢慢开发一个可以作为 Swift 命令行运行程序运行的蓝牙外围设备库,主要用于测试目的。

https://github.com/RobotPajamas/SwiftyTeeth/issues/36 https://github.com/RobotPajamas/SwiftyTeeth/tree/feature/36-ble-peripheral/Sources/SwiftyTooth

还没有完成,但我希望能在假期里抽出一些时间来完成它。

【讨论】:

以上是关于是否可以使用 CBPeripheral 通过蓝牙从 iOS 连接到 macOS的主要内容,如果未能解决你的问题,请参考以下文章

在连接之前识别 CBPeripheral 的类型

如何自动连接 CBPeripheral(带有 iBeacon + 蓝牙芯片的 BLE 设备)并且应用程序未运行

同一设备的多个 CBPeripheral

如何在 CBPeripheral 设备上编写命令?

蓝牙开锁可行性

iOS蓝牙开发总结-4