我正在使用 flutter_beacon 依赖项。处理监控和测距功能。
它可以在应用程序的前台和后台运行,但不能在终止状态下运行。
flutter beacon - 对于 iOS,使用本机框架 CoreLocation
此外,我有一个 iOS 本机应用程序,并在应用程序中实现了信标功能 - 它可以在前台、后台和终止状态下工作。
Flutter 应用是否需要额外配置?如何检测处于杀死状态的信标?
检查您是否已在 iOS 项目的 Info.plist 文件中配置了必要的后台模式。对于信标检测,您通常需要启用使用蓝牙 LE 配件和后台获取功能。
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>bluetooth-central</string>
</array>
此外,请确保在 Flutter 应用程序中请求并处理后台位置权限(始终授权)。这允许您的应用程序访问位置更新,这是后台信标检测所必需的。
如果仍然不起作用,请检查 flutter_beacon 插件是否支持后台信标检测。某些插件可能有后台操作所需的限制或特定配置。请参阅插件文档或 GitHub 存储库,了解与后台信标检测相关的任何具体说明或更新。
由于 flutter_beacon 使用原生 API(iOS 上的 CoreLocation),请确保您的原生 iOS 代码(Objective-C/Swift)包含后台信标监控所需的配置:
实现后台信标检测通常涉及在 iOS 本机代码中设置 CLLocationManager 并将其配置为后台监控。