[iOS] Reduced Accuracy

RudinP·2024년 3월 28일
0

Study

목록 보기
209/226


처음 요청 시 좌상단에 정확한 위치를 켤 것인지 정할 수 있는 부분이 있다.
이를 켜지 않았을 때, 별도로 권한을 요청하는 방법을 알아보자.

Info.plist에 프로퍼티 추가

NSLocationTemporaryUsageDescriptionDictionary


만약 앱 설정-Info 탭에서 크래시가 발생한다면 Info.plist에서 추가 가능하다.
(그냥 XCode 버그니까 어쩔 수 없다..)

코드 작성

accuracyAutorization


현재 accuracyAuthorization의 상태가 .reducedAccuracy일 경우 정확한 위치를 사용할 수 없으므로, 권한을 요청해야 한다.

@IBAction func requestPreciseLocation(_ sender: Any) {
        if manager.accuracyAuthorization == .reducedAccuracy{
            manager.requestTemporaryFullAccuracyAuthorization(withPurposeKey: "default")
        }
    }
  • 여기서 "default"에는 앞서 Info리스트의 딕셔너리에 추가해뒀던 프로퍼티의 이름을 입력하면 되며, 해당 string에 입력해뒀던 값이 경고창에 표시된다.
  • 즉, Info.plist에 여러 개의 프로퍼티를 추가해두고, 코드에서 상황에 맞게 해당 프로퍼티를 불러와 맞는 내용을 표시할 수 있는 것이다.


임시 권한이기 때문에, 앱을 재시작하면 다시 허용해주어야한다.
참고로 애플 정책 상 처음부터 정확한 위치 사용을 강제할 수는 없다.

profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글