我创建了一个注册信标区域的应用程序,并使用CLLocationManager开始监视这些区域
CLLocationManager *manager = [[CLLocationManager alloc] init];
manager.delegate = self;
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:estimoteUUID major:12445 identifier:@"id"];
region.notifyEntryStateOnDisplay = YES;
region.notifyOnEntry = YES;
[manager startMonitoringForRegion:region];
Run Code Online (Sandbox Code Playgroud)
当我从灯塔走得足够远并走回范围时,这种方法很有效.但是didEnterRegion,如果我已经在信标区域的范围内启动应用程序,我也希望触发委托方法,而不仅仅是当我回到边界时.有没有一种简单的方法来实现这一目标?或者让CLLocationManager认为我们离开了信标范围的方法?
另一篇文章说设置region.notifyEntryStateOnDisplay = YES;并按下保持按钮会这样做 - 但我没有这个工作(iOS 7.1,iPhone 5S).
过去几个月我一直在和iBeacons合作.我刚刚更新到iOS8 Beta 1,并发现区域监控和测距不再适用于我的beacon应用程序.
它是由权限引起的.我现在kCLErrorRegionMonitoringDenied在尝试启动区域监视时返回错误.此错误对应于用户取消选择应用程序的位置权限.
如果我进入设置>隐私>位置服务,我会得到一些奇怪的行为.有时我的应用程序会显示在此列表中而未选择任何设置,有时它根本不会出现在列表中.如果我手动将设置更改为"允许"然后关闭设置,然后返回设置>隐私>位置服务我遇到同样的问题 - 应用程序可能不会出现在列表中或设置未设置.
这显然是iOS8测试版中的一个错误,只是想知道是否有其他人有此问题和/或找到了解决方法?