-
iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 2 - 위치정보 한 번 허용iOS 2020. 3. 7. 15:43반응형
이전 포스트와 이어집니다.
https://sesang06.tistory.com/174
iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 1 - 위치정보 지연된 항상 허용
iOS 13에서는 위치정보 요청이 복잡하게 변경되었습니다. 이번 포스트에는 "항상 허용"의 변화에 대해서 살펴보겠습니다. 시작 앱의 위치 정보 권한을 상태를 나타내는 enum CLAuthorizationStatus 에는 다섯 가지..
sesang06.tistory.com
시작
iOS 13에서 위치 정보 권한을 요청하면, 한 번 허용 이라는 선지가 새로 등장합니다.
한 번 허용을 누르고,
func locationManager( _ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
에서 status 값의 변화를 체크해 보았습니다.
authorizedWhenInUse 입니다.
이 상황에서 설정 창으로 돌아가 앱의 상태를 확인해 봅시다.
새로운 선지, 다음번에 묻기 에 체크되어 있습니다.
이제 앱을 종료하고 재실행해 보았습니다.
func locationManager( _ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
에서 status 값의 변화를 체크해 보았습니다.
notDetermined 입니다.
그리고 아까와 동일한 팝업이 재노출됩니다.
정리해 봅시다.
- 개발자가 위치정보 허용, locationManager.requestWhenInUseAuthorization() 혹은 locationManager.requestAlwaysAuthorization() 을 요청합니다.
- 유저가 한 번 허용 을 선택했습니다.
- 유저가 설정에서 다음번에 묻기 를 확인할 수 있습니다.
- CLLocationManagerDelegate 가 authorizedWhenInUse 을 수신했습니다.
- 유저가 앱을 재실행합니다.
- CLLocationManagerDelegate 가 notDetermined 을 수신했습니다.
애플은 새로 추가된 한 번 허용 상태를 임시적(Temporary) 허용이라고 명명했습니다.
임시적 허용
임시적 허용 상태에서는 앱을 사용하는 동안 위치를 받아낼 수 있습니다.
아래의 조건 중 하나로 진입했을 경우 notDetermined 로 되돌아갑니다.
1. 앱을 종료하고 재실행할 때
2. 앱이 백그라운드로 돌아가고, 위치 정보를 사용이 만료될 까지 충분히 시간이 다시 지나고, 앱이 포그라운드 상태로 복귀할 때
반면, 아래 상황에서는 계속 기존 권한이 유지됩니다.
1. 앱이 지속적으로 포그라운드 상태에 있을 때
2. 앱이 백그라운드로 돌아가고, 바로 앱이 포그라운드 상태로 복귀할 때
3. 앱이 백그라운드로 돌아가고, allowsBackgroundLocationUpdates = true 로 주어서 백그라운드에서도 지속적으로 위치 정보를 갱신받으며, 다시 앱이 포그라운드로 복귀할 때
레퍼런스
https://developer.apple.com/videos/play/wwdc2019/705/
What's New in Core Location - WWDC 2019 - Videos - Apple Developer
Location technologies are core to delivering context-based services within your app. Discover how the latest features in the Core...
developer.apple.com
반응형'iOS' 카테고리의 다른 글
느려터진 iOS 빌드 속도로 고통받는 당신에게, 카르타고를 권장합니다. (0) 2020.04.24 SWIFT 질문들 (0) 2020.03.14 iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 1 - 위치정보 지연된 항상 허용 (0) 2020.03.07 UIWebView 를 WKWebView 로 이전할 때 반드시 알아야 하는 7가지 주의 사항 (0) 2020.02.28 UICollectionViewDiffableDataSource, UITableViewDiffableDataSource 로 깔끔한 콜렉션 뷰 데이터 관리하기 (0) 2020.02.26