처음 요청 시 좌상단에 정확한 위치를 켤 것인지 정할 수 있는 부분이 있다.
이를 켜지 않았을 때, 별도로 권한을 요청하는 방법을 알아보자.
만약 앱 설정-Info 탭에서 크래시가 발생한다면 Info.plist에서 추가 가능하다.
(그냥 XCode 버그니까 어쩔 수 없다..)
현재 accuracyAuthorization의 상태가 .reducedAccuracy
일 경우 정확한 위치를 사용할 수 없으므로, 권한을 요청해야 한다.
@IBAction func requestPreciseLocation(_ sender: Any) {
if manager.accuracyAuthorization == .reducedAccuracy{
manager.requestTemporaryFullAccuracyAuthorization(withPurposeKey: "default")
}
}
"default"
에는 앞서 Info리스트의 딕셔너리에 추가해뒀던 프로퍼티의 이름을 입력하면 되며, 해당 string에 입력해뒀던 값이 경고창에 표시된다.
임시 권한이기 때문에, 앱을 재시작하면 다시 허용해주어야한다.
참고로 애플 정책 상 처음부터 정확한 위치 사용을 강제할 수는 없다.