앱이있어서 위치 기반 기능을 추가하고 싶습니다. iOS 7과 8을 모두 지원하지만 몇 가지 문제가 있습니다.iOS7 및 iOS 8 위치 서비스
사용자가 특정 viewController에서 특정 버튼을 탭한 경우에만 위치 권한을 요청하고 싶습니다. 문제는 앱이 실행되는 즉시 권한 요청이 표시된다는 것입니다. 더 정확히 말하면 첫 번째 viewController의 ViewWillAppear 및 ViewDidAppear 함수 사이입니다.
내가 이전에 시도하는 것 :
(iOS8의 경우) PLIST에 NSLocationWhenInUseUsageDescription 키를 가진
. 코드의 관점에서 :self.locationManager = [[CLLocationManager alloc] init]; self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; self.locationManager.delegate = self; if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { [self.locationManager requestWhenInUseAuthorization]; } [self.locationManager startUpdatingLocation];
PLIST 키를 제거는 ->이 더 이상 표시하지 iOS8의에서 팝업을 발생,하지만 여전히 순간 하나 하나에게에서 iOS7에
에서와 CoreLocation과 관련된 코드 비트가 주석 처리되었으며 여전히 대화에 권한 (iOS7 만 해당)을 묻는 메시지가 표시됩니다.
다른 어떤 시도를 할 수 있을지 모르겠으므로 어떤 도움도 많이 받으실 수 있습니다.
사용자가 원하는 단추를 누를 때까지 CLLocationManager 코드를 수행하지 마십시오. –