Как получить уведомление, когда регион меняет пользователя?
Я работаю над приложением, в котором я должен использовать мониторинг региона.
Когда местоположение пользователя изменяется в соответствии с этим, пользователь получит уведомление о местоположении, в котором пользователь теперь находится в новом местоположении, даже когда приложение находится в фоновом режиме.
Я пытаюсь из последних нескольких дней и искал в Google, но я не нахожу решения или идеи, как это сделать.
Кто-нибудь может мне помочь?
Заранее спасибо.
1 ответ
Используйте геозону с помощью CLLocationManager
и позвонить startMonitoringForRegion
Сделайте такую функцию и начните мониторинг региона
-(void)notificationForRegion:(CLLocationDegrees) latitude withLongitude:(CLLocationDegrees) longitude andIdentifier : (NSString*) identifer {
CLLocationManager * locationManager = [[CLLocationManager alloc] init];
CLCircularRegion * regionForMonitoring = [[CLCircularRegion alloc] initWithCenter:CLLocationCoordinate2DMake(latitude, longitude) radius:50.0 identifier:identifer];
regionForMonitoring.notifyOnExit = TRUE;
[locationManager startMonitoringForRegion:regionForMonitoring];
}
Воплощать в жизнь didEnterRegion
метод делегата CLLocationManagerDelegate
в AppDelegate
как AppDelegate
Объект всегда остается в памяти и планируйте свои локальные уведомления здесь.
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
UILocalNotification * localNotif = [[UILocalNotification alloc] init];
localNotif.alertBody = @"You are now in the region";
localNotif.fireDate = [NSDate dateWithTimeIntervalSinceNow:0];
localNotif.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[manager stopMonitoringForRegion:region];
}
Позвоните выше notificationForRegion
функционировать следующим образом
После получения вашего location
[self notificationForRegion:location.coordinate.latitude withLongitude:location.coordinate.longitude andIdentifier:@"your identifier"];