2017-10-30 6 views
2

내 앱이 위치 인증을 요청할 때 표시되는 문자열을 설정하려고합니다. 모든 설정을 시도했습니다 four possible keys in Info.plist : NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescriptionNSLocationAlwaysAndWhenInUseUsageDescription입니다. 또한 locationManager.purpose 문자열 which is deprecated in iOS, but not macOS을 설정해 보았습니다. 앱에서 승인을 요청하면 알림에 문자열이 표시되지 않습니다. 여기 MacOS 용 CoreLocation 사용법을 어떻게 설정합니까?

var locationManager = CLLocationManager() 

    func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) { 
     switch status { 
     case .notDetermined: 
      locationManager.startUpdatingLocation() 
      locationManager.stopUpdatingLocation() 
     default: break 
     } 
    } 

는 경고의 스크린 샷입니다 :

내가 액세스 요청이 코드를 사용하고 이 alert

+0

알림이 표시됩니까? 어떤 메시지가 있습니까? locationManager에 대한 참조를 잃어 버렸습니까? – tagyro

+0

예, 경고가 예상대로 나타납니다. 사용법 설명 문자열이 없습니다. 그것은 ""앱이 당신의 위치에 접근하고 싶습니다. "''locationManager'는 클래스 수준에서 설정되어 있으므로 길을 잃어 버릴 것이라고 생각하지 않습니다. – Nate

답변

0

맥 OS의 올바른 위치 사용 설명을 NSLocationUsageDescription로 나타납니다 (개인 정보 보호 - 위치 사용 기술). 그것은 올바르게 설정되었다는 것이 드러났지 만, CoreLocation은 문자열 (또는 그 부족)을 캐싱 했어야합니다. 재부팅해도 아무 것도 변하지 않는 것처럼 보일 수 있으므로 마침내 새 문자열을 사용하기로 결정하는 데 하루가 걸릴 수 있습니다. 캐싱을 피하기 위해 앱의 번들 식별자를 변경하여 새 문자열을 테스트 할 수 있어야합니다.