2016-09-19 9 views
0

지오 펜싱을 내 응용 프로그램 중 하나에 사용하고 있습니다. 하지만 한 가지 문제가 있습니다. 내 응용 프로그램이 호출되지 않습니다 - (void) locationManager : (CLLocationManager *) 관리자 didDetermineState : (CLRegionState) 상태에 대한 지역 : (CLRegion *) 모드 일 때 지역.응용 프로그램이 백그라운드에있을 때 CLLocationManager didDetermineState 메서드가 호출되지 않습니다.

나는 플래그가 설정에서 ON 입니다 새로 배경 응용 프로그램을 확인합니다.이 제대로 설정되어

- (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 :

다음은 내 코드입니다. 나는 그것에 대해 조사했지만, 나의 소견에 대한 적절한 해결책을 얻지 못했습니다. 누구든지 저를 도울 수 있습니까?

감사합니다.

답변

0

문제가 해결되었습니다. backgournd에서 위치 업데이트를 표시했기 때문입니다. Here is image.