ios - didEnterRegion 和 didExitRegion 没有被调用,但是 didStartMonitoringForRegion 在地理围栏中工作,objectiveC
问题描述
我正在开发一个地理围栏应用程序,但它不起作用。
我得到了 didStartMonitoringForRegion 委托方法。通知和警报消息在 didStartMonitoringForRegion 中运行良好。但是,didEnterRegion 和 didExitRegion 没有被调用。
我把半径设置为200m,走了300多米,等了几分钟。但是 didExitRegion 没有工作,在返回实际位置时,也没有调用 didEnterRegion。
代码在下面给出。
- (void)viewDidLoad {
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager requestAlwaysAuthorization];
CLLocationCoordinate2D centers = CLLocationCoordinate2DMake(13.015624, 80.200276);
CLRegion *geoLoc = [[CLCircularRegion alloc]initWithCenter:centers radius:200.0
identifier:@"ident"];
geoLoc.notifyOnExit = TRUE;
geoLoc.notifyOnEntry = TRUE;
[locationManager startUpdatingLocation];
[locationManager startMonitoringForRegion:geoLoc desiredAccuracy:kCLLocationAccuracyBest];
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Message"
message:@"exit region"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[self testNotifications];
}
-(void) testNotifications {
// function for the sample push notification
}
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
[self testNotifications];
}
- (void)locationManager:(CLLocationManager *)manager
didStartMonitoringForRegion:(CLRegion *)region {
[self testNotifications];
// alert code
NSLog(@"Started Monitoring region:%f", region.center.latitude);
// the region and the given value is getting printed
}
任何关于如何从区域内外调用 didEnterRegion 和 didExitRegion 并显示通知/弹出窗口的建议将不胜感激!
解决方案
推荐阅读
- powershell - Powershell:Import-CSV - 如何选择特定单元格(即:A5、A10.A15)
- python - 比较数据框值错误中的 2 列
- c - 为什么在文件或结构中使用多个互斥锁?
- c# - C# - 如何为程序创建“保护进程”并确保它始终运行?
- php - WordPress:获取带有状态草稿并已发布的用户帖子数量
- android-studio - 带有复选框的android中的Snackbar小部件使用
- tensorflow - Keras 模型无法预测预期输出
- hive - Hive 日期功能:获取月份部分
- flutter - 有状态小部件的访问方法
- java - Okhttp GET 请求是否默认使用 gzip?