gpt4 book ai didi

ios - 屏幕关闭时如何在iOS应用程序中检测iBeacon?

转载 作者:可可西里 更新时间:2023-11-01 01:37:41 25 4
gpt4 key购买 nike

仍在与 iBeacon 监控我的 iOS 应用程序中的屏幕关闭模式作斗争。

在我的实验中,当屏幕关闭时,委托(delegate)方法“locationManager:didRangeBeacons:inRegion:”仍然被持续触发,但是,一旦屏幕关闭,信号相应消失(RSSI=0, beacon .accuracy=-1.0),然后,10 秒后,根本找不到信标。

我在this中找到了一些重要信息帖子说“iOS 以两种不同的方式使用信标:区域监控和信标测距。后者在后台不工作......或者当应用程序终止时。

CLLocationManager 只会在进入一个区域时触发一次委托(delegate)调用。如果您在该区域内开始监视该区域,则不会调用入口委托(delegate)。您的应用程序必须手动调用 CLLocationManager 的 requestStateForRegion 方法。一旦您退出受监控的区域,CLLocationManager 将在大约 30-45 秒后调用 didExitRegion。”

现在我尝试在屏幕关闭时连续调用“requestStateForRegion:”方法。结果是:

  1. 如果我的 iPhone 已经在 iBeacon 区域,委托(delegate)方法“didDetermineState”连续给出“CLRegionStateInside”;
  2. 当我拿着我的 iPhone 走出 iBeacon 区域时,或者只是关闭 iBeacon 的广告,30-45 秒后,委托(delegate)方法“didDetermineState”变成“CLRegionStateOutside”并保持在“外部”状态;
  3. 当我拿着我的 iPhone 走进 iBeacon 区域内,或者打开iBeacon的再次广告,delegate方法“didDetermineState”仍然不断地给出“外部”并且从不回到“内部”。

我需要的是,当屏幕关闭时,我可以检测到我的 iOS 设备一进入 iBeacon 区域。寻求帮助...提前致谢。

最佳答案

您是否在 info.plist 中添加了 NSLocationAlwaysUsageDescription?我真的可以推荐你关注this贯穿所有这些的教程。

关于ios - 屏幕关闭时如何在iOS应用程序中检测iBeacon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34488067/

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