2013-10-24 1 views
2

내 앱조차 백그라운드에서 위치 업데이트를 등록합니다. 내 코드에서iPhone 5에서 "비활성"상태가되는 위치 서비스

:

self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers; 
self.locationManager.distanceFilter = 2500; 

그리고 난 아무데도 이동되지 않습니다. 그래서 콘솔 로그에서 정확히 15 분 후에이 메시지가 나타납니다. "위치 아이콘은 이제 '비활성'" 상태 여야합니다. 이 시점부터 내 앱은 백그라운드에서 실행되지 않습니다.

iPhone 5에서만 발생합니다.

여기

을 @updated 내 코드 애플이 CLLocationManager@property(assign, nonatomic) BOOL pausesLocationUpdatesAutomatically을 추가 한 아이폰 OS 6 이후

self.locationManager = [[CLLocationManager alloc] init]; 
self.locationManager.delegate = self; 
[self.locationManager setPurpose:@"Enable Location service for \"My App\" to track your"]; 
self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers; 

/* Notify changes when device has moved x meters. 
* Default value is kCLDistanceFilterNone: all movements are reported. 
*/ 
self.locationManager.distanceFilter = 2500; 
[self.locationManager startUpdatingLocation]; 

답변

5

위치 서비스가 비활성 상태 일 때 백그라운드에서 앱을 사용 했습니까?

당신이 pausesLocationUpdatesAutomatically 플래그를 설정하는 데 필요한 것보다 백그라운드에서 위치 업데이트를 중지하지 않으려면

,

if ([self.locationManager respondsToSelector:@selector(pausesLocationUpdatesAutomatically)]) { 
    self.locationManager.pausesLocationUpdatesAutomatically = NO; 
} 
+0

는 @Bhumeshwerkatre이 좋아, 여기에 내가 사용한 self.locationManager, 당신은 CLLocationManager 객체를 사용해야합니다. –

+0

예, 위치 아이콘이 백그라운드에서 앱을 사용 중일 때 '비활성'상태 여야합니다. 나는이 코드를 시도 할 것이다. –

+0

하지만 iOS 6를 사용하는 iPhone 4에서도 동일한 코드가 작동합니다. iPhone 4에서는 위치 업데이트를받지 않습니다. –

2

입니다. 기본값은 YES입니다. 이 속성의 값을 NO으로 변경하면 위치 추적이 백그라운드에서 중단되지 않습니다.

관련 문제