Как получить уведомление, когда регион меняет пользователя?

Я работаю над приложением, в котором я должен использовать мониторинг региона.
Когда местоположение пользователя изменяется в соответствии с этим, пользователь получит уведомление о местоположении, в котором пользователь теперь находится в новом местоположении, даже когда приложение находится в фоновом режиме.

Я пытаюсь из последних нескольких дней и искал в 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"];
Другие вопросы по тегам