- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用区域监控在用户退出区域时运行一些代码。当应用程序在前台或后台运行且设备屏幕位于 locationManger:didExitRegion:
时,将按预期调用。但是,当屏幕关闭时,我通常不会收到回调,直到我通过单击电源按钮打开屏幕,此时立即调用 locationManger:didExitRegion:
。所有测试均在 iPhone 5s 上完成。
以下是我设置区域的方式:
self.monitoredRegion = [self setupGeoFenceWithCenter:self.currentLocation radius:200];
[self.locationManager startMonitoringForRegion:self.monitoredRegion];
-(CLRegion *)setupGeoFenceWithCenter:(CLLocation *)center radius:(CGFloat)radius
{
if (radius > self.locationManager.maximumRegionMonitoringDistance)
{
radius = self.locationManager.maximumRegionMonitoringDistance;
}
CLRegion * region = [[CLCircularRegion alloc] initWithCenter:center.coordinate
radius:radius
identifier:@"geofence"];
return region;
}
这是委托(delegate)回调:
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"Exited Region");
}
这是 CLLocationManager
初始化:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
self.locationManager.distanceFilter = kCLDistanceFilterNone;
此外,最近我注意到 locationManager:monitoringDidFailForRegion:withError:
方法被更频繁地调用,并出现以下错误描述:
Error Domain=kCLErrorDomain Code=5 "The operation couldn’t be completed. (kCLErrorDomain error 5.)"
但即使出现此错误,当应用程序位于前台时,它仍会按预期工作。这是区域监控的预期行为吗?有人遇到过这种情况么?这可能是我收到的错误的结果吗?
谢谢!
最佳答案
您是否尝试等待几分钟(4 到 15 分钟)? PS:在关闭 iDevice 之前,您的应用程序应该处于前台。这是基于 iBeacon 测试...希望它对您的情况有所帮助。
关于ios - 位置管理器 :didExitRegion: not called when screen is off,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22126866/
我正在使用 IBeacon 构建一个简单的 ios 应用程序,我正在监视一个区域,但我在进入和退出事件方面遇到了一些问题。 如果我进入某个区域,回调 didEnterRegion 会被触发,但在该区域
使用 CLLocationManager 我正在定义区域并响应 didEnterRegion 和 didExitRegion。这很好用,因为当设备在区域之间移动时,我得到了 Enter 和 Exit
我正在监视定义为 beaconRegion1(房间 1)和 beaconRegion2(房间 2)的两个信标,并且我正在记录每个信标的进入和退出事件(因为我们想要计算在房间中花费的时间)。 由于 di
我正在构建一个应用程序来检测 Android 上的 iBeacon。基本功能是通过信标将广告数据存储到设备上并将其上传到服务器。为此,我使用了 Android Beacon 库。 为了在 Androi
我对信标非常陌生,我正在尝试使用 AltBeacon Android 信标库实现对 Estimote 信标的基本检测(通过 Estimote iOS 应用程序虚拟)。 当我激活信标时,我的应用会检测到
这是基于iBeacon Bluetooth didEnterRegion and didExitRegion methods are never fired中问题的进一步问题已经解决了。 具体来说,d
我一直在试验区域监控,以便在用户位于设定区域内时显示警报或本地通知。作为第一步,我添加了一个打印行以查看它是否适用于调试区域。但是,在打印其他行时,我没有得到 didEnterRegion 和 did
我已经设置了委托(delegate),创建了一个区域,并且我已经阅读了所有文档。每次用户的位置发生变化并且在指定区域之外时,都不会调用 locationManager(manager: CLLocat
我正在实现一个应用程序,我需要通过以下方式跟踪用户的位置: 在应用处于后台或关闭时跟踪用户的位置 如果用户的位置更改了大约 2000 米,我应该执行 API 调用。 我解决这个问题的方法如下: 用户第
我尝试让iPhone4监视区域并通过调用didEnterRegion或didExitRegion通知我。我无法让它工作。我在这里阅读了可能所有相关的条目,再加上网上的几篇文章....iOS 只是不调用
当用户进入信标区域和离开信标区域时,我会向用户显示本地通知。导出是最重要的,因为我告诉用户他们在该位置居住了多长时间。我正在使用区域监控,因为即使应用程序处于后台或暂停状态,它也能让我跟踪信标。我遇到
我有一个 swift 程序可以检测信标何时在范围内和超出范围,即使该应用程序在后台也是如此。 我遇到的问题是触发 didExitRegion 需要大约 30 秒。我知道这 30 秒是一个不可调整的值,
我正在使用区域监控在用户退出区域时运行一些代码。当应用程序在前台或后台运行且设备屏幕位于 locationManger:didExitRegion: 时,将按预期调用。但是,当屏幕关闭时,我通常不会收
我正在尝试设置一个小型地理围栏(100 米),以便在用户离开家时提醒他们。为此,我像这样请求用户当前位置: - (void)requestUsersCurrentLocation { if (
我正在开发一款应用程序,该应用程序使用 iBeacon 来调查购买产品的客户。 iBeacon 用于发送推送通知,要求他们对服务进行评分。问题是我想确保只有购买了东西的客户才会收到通知。 我能否在发出
我有一个基于信标和地理围栏的应用程序正常工作了一段时间。 但在更新到 xCode 9 和 iOS 11 后,当用户在位置授权请求警报中选择仅在使用选项时,这些回调再也不会触发。 我不明白这是在后台或应
我正在使用我的 iBeacon iOS 应用程序。我开始使用 Xcode 5.1 进行编码。那时每个代表都被召集了。但是当我将我的 Xcode 更新到 6.0.1 以支持 iOS 8 中的应用程序时,
我正在开发一个使用CLLocationManager区域监视的基于位置的应用程序。 我使用的是单个CLLocationManager和单个委托(delegate)(它们在启动时在主应用程序委托(del
我正在使用 estimote 信标和区域进行一些测试。 在我开始监控一个区域时阅读文档,我将告诉我的代表一个特定的区域正在被监控,但是,didEnterRegion 和 didExitRegion 永
- (void)viewDidLoad { [super viewDidLoad]; if([CLLocationManager locationServicesEnabled]){
我是一名优秀的程序员,十分优秀!