사용자가 지역을 벗어날 때 일부 코드를 실행하기 위해 지역 모니터링을 사용하고 있습니다. 앱이 전경이나 배경에서 기기의 화면이 locationManger:didExitRegion:
인 상태로 실행될 때 예상대로 호출됩니다. 그러나 화면이 꺼져있을 때는 즉시 locationManger:didExitRegion:
이라는 전원 버튼을 클릭하여 화면을 켤 때까지 콜백을받지 못합니다. 모든 테스트는 iPhone 5에서 수행되었습니다.locationManager : didExitRegion : 화면이 꺼져있을 때 호출되지 않습니다.
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"Exited Region");
}
가 CLLocationManager
초기화입니다 : 여기
self.monitoredRegion = [self setupGeoFenceWithCenter:self.currentLocation radius:200];
[self.locationManager startMonitoringForRegion:self.monitoredRegion];
-(CLRegion *)setupGeoFenceWithCenter:(CLLocation *)center radius:(CGFloat)radius
{
if (radius > self.locationManager.maximumRegionMonitoringDistance)
{
radius = self.locationManager.maximumRegionMonitoringDistance;
}
CLRegion * region = [[CLCircularRegion alloc] initWithCenter:center.coordinate
radius:radius
identifier:@"geofence"];
return region;
}
대리자 콜백입니다 : 여기
내가 지역 설정 방법 또한
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
self.locationManager.distanceFilter = kCLDistanceFilterNone;
를, 최근에 나는 것으로 나타났습니다 locationManager:monitoringDidFailForRegion:withError:
메서드는 다음과 같이 자주 호출됩니다. 오류 설명 :
오류 도메인 = kCLErrorDomain 코드 = 5 "작업을 완료 할 수 없습니다. . 다른 사람이이 발생했습니다 (kCLErrorDomain 오류 5) " 은 지역 모니터링이 예상되는 동작입니다 응용 프로그램이 예상대로 작동 전경에있을 때.
그러나 심지어이 오류로,?이 될 수 있을까 오류 내가지고있어 결과가
감사
나는 testi입니다. iOS 시뮬레이터의 Freeway 드라이브 시뮬레이션과 함께 사용하십시오. 내 대의원들은 절대로 .. 어떤 생각이라도? 대리자를 설정하고 CLLocationManager 개체도 유지됩니다 ... – Nil