连接到作为macOS应用程序外围设备的后台iOS应用程序

时间:2018-08-31 23:22:48

标签: ios swift macos core-bluetooth

我有一个iOS和macOS应用程序,大量使用了Core Bluetooth。该应用程序的核心功能包括将中央设备(CBCentralManager)连接到外围设备(CBPeripheralManager),检索一些数据,然后断开连接。无论是macOS还是iOS,这两种设备都可以充当中央或外围设备,具体取决于谁需要数据。

起初我以为我的代码有问题,但是在使用两台iOS设备测试了该应用程序之后,即使外围设备被锁定且该应用程序位于该设备中,也可以从该外围设备连接并提取数据。背景。现在根据docs concerning background advertising on iOS under "The bluetooth-peripheral Background Execution Mode",这是一种预期:

  

...它们只能由明确扫描它们的iOS设备发现。

有什么方法可以使macOS应用程序即使在后台运行时也能发现外围设备?我确定我编写的代码是正确的,因为在iOS和macOS上都是相同的。

更新1

我相信,仅不确定如何解决此问题就可以实现。使用macOS上的Apple的Bluetooth Explorer,我可以找到所需的设备,并且可以查看和读取自定义服务的数据。

此发现已从我的iOS设备上有关我的peripheralManager(CBPeripheralManager, didReceiveRead: CBATTRequest)的读取请求的日志中得到验证。

0 个答案:

没有答案