2014-10-08 3 views
0

내 프로그램이 iOS7에서는 작동하지만 iOS8에서는 작동하지 않습니다. locationManagerCLLocationManager의 대상입니다.Gps 위치 서비스가 iOS 8에서 작동하지 않습니다.

이 코드를 시작하면 iOS7에서 정상적으로 작동하지만이 문제가 왜 발생하는지 이해할 수 없습니다.

이 위치 문제를 해결하는 데 도움을 주시기 바랍니다. 위치 서비스가 새로 도입되었습니다.

미리 감사드립니다.

+0

가능한 중복 (http://stackoverflow.com/questions/24062509/ios-8-location-services-not-working) – Paulw11

답변

0

당신은 두 개의 요청 중 하나를하지 않으면, 아이폰 OS가 startUpdateLocation 요청을 무시합니다 [locationManager requestWhenInUseAuthorization]; 또는

[locationManager requestAlwaysAuthorization];

를 구현해야합니다. 또한

NSLocationAlwaysUsageDescription 또는 어떤 허가에 당신이 요구하고 따라의 Info.plist에서 NSLocationWhenInUseUsageDescription 키 포함. 이 문자열은 iOS에서 사용자에게 표시되어 사용자가 왜 앱에 권한이 필요한지 알 수 있습니다.

그래서

- (void)getCurrentLocation{ 
    locationManager = [[CLLocationManager alloc] init]; 
    geocoder = [[CLGeocoder alloc] init]; 
    locationManager.delegate = self; 
    [locationManager requestWhenInUseAuthorization]; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    [locationManager startUpdatingLocation]; 
} 

에 methood을 변경하고의 Info.plist에 필요한 키를 추가 끄트머리.

희망이 도움이됩니다.

+0

Bhumit 당신이 할 수있는 이것을 추가하십시오. 메소드를 내 코드 .. 내 새 위치 .. 안녕하세요. – Jason

+0

@JEET : 위의 메소드를 바꾸고 info.Plist 파일에 'NSLocationWhenInUseUsageDescription' 키를 추가하면 위치 업데이트가 실행되고 실행되어야합니다. –

+0

아니요 ... 작동하지 않습니다. – Jason

0

먼저, IOS 8 당신은 사용자의 허가를 받아야하고 사용하는 경고 메시지를 표시하기 위해의 Info.plist 파일에 NSLocationWhenInUseUsageDescription 속성을 추가 할 필요가 잊지 마세요 [locationManager requestWhenInUseAuthorization] 플러스

_locationManager = [CLLocationManager new]; 

if(SYSTEM_IS_OS_8_OR_LATER) { 
    [_locationManager requestWhenInUseAuthorization]; 
    [_locationManager requestAlwaysAuthorization]; 

} 

_locationManager.delegate = self; 
_locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
_locationManager startUpdatingLocation]; 

[locationManager requestAlwaysAuthorization]; 및 당신의 didUpdateLocations에서

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ 

     _currentLocation = [locations objectAtIndex:0]; 
     //do your stuff with the location 

    } 
[아이폰 OS 8 : 위치 서비스가 작동하지]의
+0

NSLoationWhenInUseUsageDescription 속성을 info.plist 파일에 추가하는 방법은 무엇입니까? – Jason

+0

대상 >> 정보 탭 >>을 선택하십시오. "NSLocationWhenInUseUsageDescription"을 문자열로 추가하십시오. 값은 권한 대화 상자의 하위 메시지입니다.(그래서 정말 필요하지 않음) – Smiless

관련 문제