gpt4 book ai didi

swift - 降低didEnterRegion的阈值

转载 作者:搜寻专家 更新时间:2023-11-01 06:33:21 25 4
gpt4 key购买 nike

我目前正在开发一款应用程序,我希望我的应用程序能够在后台模式下检测到信标(立即)。根据我读过的文章,它不能用 didEnterRegion 完成,我应该在它以后台模式(位置更新)运行时使用测距。有没有直接降低didEnterRegion阈值的解决方案?或者我应该使用其他方法吗?如果是这样的话,它是否像 didEnterRegion 一样工作但 RSSI 范围有限?当我的手机进入该区域并锁定并关闭屏幕时,它是否有效?

最佳答案

监控 API 使您无法控制获得检测回调的距离。当信标第一次进入 radio 范围(通常在 40 米左右)时,您总是会收到回调。

有两种方法可以仅在近距离触发信标:

  1. 如果制造商支持,请在您的信标上配置较低的 radio 传输功率。

  2. 将 Ranging API 与 Monitoring 相结合,并在后台尽可能长时间地进行测距(在没有特殊后台权限的情况下,在 iOS 上最长 180 秒),然后在测距回调显示 CLBeacon 准确度字段立即生效时触发您的逻辑。

选项 1 更简单,但不太可靠,因为它通常会在比您想要的更远的距离触发,有时即使在极近的距离内也根本无法触发。

选项 2 更可靠,只要背景测距时间没有用完即可。如果手机的 radio 在 40 米处触发以开始测距,如果用户需要超过 180 秒才能立即接近,则测距时间用完并且您无法触发,直到信标消失并重新出现以重置允许的测距时间.

关于swift - 降低didEnterRegion的阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com