连接到后台 iOS 应用程序,充当 macOS 应用程序的外围设备

问题描述 投票:0回答:1

我有一个 iOS 和 macOS 应用程序,大量使用核心蓝牙。该应用程序的核心功能包括将中央设备 (

CBCentralManager
) 连接到外围设备 (
CBPeripheralManager
),检索一些数据,然后断开连接。无论是 macOS 还是 iOS,任何设备都可以充当中央设备或外围设备,具体取决于谁需要数据。

起初我以为我的代码有问题,但在使用两个 iOS 设备测试应用程序后,即使外围设备被锁定且应用程序处于后台,其中一个也能够连接外围设备并从外围设备提取数据。现在根据“蓝牙外设后台执行模式”下有关 iOS 后台广告的文档,这是预期的:

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

有没有办法让 macOS 应用程序发现外围设备,即使它们处于后台?我确信我编写的代码是正确的,因为它在 iOS 和 macOS 上都是相同的。

更新1

我相信这可能只是不确定如何解决这个问题。使用 macOS 上的 Apple 蓝牙资源管理器,我能够找到所需的设备,并且能够查看和读取自定义服务的数据。

此发现是从我的 iOS 设备上有关来自我的

peripheralManager(CBPeripheralManager, didReceiveRead: CBATTRequest)

 的读取请求的日志中得到验证的。

ios swift macos core-bluetooth
1个回答
0
投票
看起来这可能与您在 Apple Music 平台上的 Handoff 功能方面的工作有关。我听说你曾经发布过一些东西,但它似乎已经“消失”了。 考虑到有多少人真的认为苹果应该解决这个问题,提供更像 Spotify 的功能,我想知道你的经历是什么以及你认为在这一领域可能会发生什么...... 苹果有联系过你吗?

© www.soinside.com 2019 - 2024. All rights reserved.