2016-09-19 13 views
0

Я использую Geofencing для одного из моих приложений. Но у меня есть одна проблема. Мое приложение не называется - (void) locationManager: (CLLocationManager *) manager didDetermineState: (CLRegionState) state forRegion: (CLRegion *) region, когда приложение находится в Фон.CLLocationManager didDetermineState метод не вызывается, когда приложение находится в фоновом режиме

Я проверяю на Обновление фона для фона флаг ВКЛ в настройках.

Ниже мой код:

- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region 
    if (state == CLRegionStateInside) 
    { 
      NSLog(@"is in target region"); 
      UILocalNotification *notification = [[UILocalNotification alloc] init]; 
      notification.alertBody = @"You are IN of REGION"; 
      notification.fireDate = [NSDate date]; 
      NSTimeZone* timezone = [NSTimeZone defaultTimeZone]; 
      notification.timeZone = timezone; 
      notification.alertAction = @"Show"; 
      notification.soundName = UILocalNotificationDefaultSoundName; 
      [[UIApplication sharedApplication] scheduleLocalNotification:notification]; 
    } 
    else 
    { 
      NSLog(@"is out of target region"); 
      UILocalNotification *notification = [[UILocalNotification alloc] init]; 
      notification.alertBody = @"You are OUT of REGION"; 
      notification.fireDate = [NSDate date]; 
      NSTimeZone* timezone = [NSTimeZone defaultTimeZone]; 
      notification.timeZone = timezone; 
      notification.alertAction = @"Show"; 
      notification.soundName = UILocalNotificationDefaultSoundName; 
      [[UIApplication sharedApplication] scheduleLocalNotification:notification]; 
    } 
} 

CLLocationManager установлен правильно. Я собираюсь на нем, но не получил надлежащего решения для моей работы. Может ли кто-нибудь помочь мне в этом?

Thanks

ответ

0

Я решил свою проблему. Это потому, что я отметил обновление местоположения в backgournd. Here is image.