티스토리 뷰
Naver Map API Location Button 오류를 확인했습니다.
Xcode version: 11.6
iOS version: 13.5 - 13.6
Location Button을 사용하기 위해 Info.plist에 사용자 권한을 요청하는 구문을 추가하여야합니다.
프로젝트를 새로 만들어 Naver Map API 문서를 참고하여 기본설정을 했음에도 불구하고 버튼이 작동하지 않았습니다.
3-4개월 전쯤 만들어두었던 프로젝트에 ViewController를 하나 생성하고
이전 프로젝트에서 사용했던 코드와 Info.plist 설정을 그대로 가져와 실행해 보았습니다.
이 프로젝트에서는 왜인지 작동이 되네요.
비교해 본 결과 이미 만들어 두었던 프로젝트에서는 사용자 권한 요청 Alert가 있었고,
새로 만든 프로젝트에서는 Alert가 작동하지 않았습니다.
먼저 위치 권한에 대한 상태를 확인해 보았습니다.
rawValue | value | description |
0 | notDetermined | 사용자가 아직 아무런 결정도 하지 않은 상태 |
1 | restricted | 위치정보를 사용할 수 있는 권한이 없는 상태 |
2 | denied | 사용자가 권한을 명시적으로 거부했거나 설정에서 위치 서비스가 비활성화되어 있는 상태, 위치접근허용: 안 함 |
3 | authorizedAlways | 사용자가 언제든지 자신의 위치를 사용할 수 있는 권한이 있는 상태, 위치접근허용: 항상 |
4 | authorizedWhenInUse | 사용자가 앱을 사용하는 동안에만 위치를 사용할 수 있는 권한이 있는 상태, 위치접근허용: 앱을 사용하는 동안 |
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let locationStatus = CLLocationManager.authorizationStatus()
print(locationStatus.rawValue)
}
}
위 실행결과로 0 값이 출력되는 것을 확인하였습니다.
이 부분이 문제라고 생각하여 권한을 요청하는 Alert을 띄우는 코드를 추가해주었습니다.
class ViewController: UIViewController {
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
self.locationManager.requestWhenInUseAuthorization()
}
}
위 와 같이 Alert가 동작하였고 Allow While Using App 을 클릭하니 Location Button이 정상적으로 작동하였습니다.
'Develop > iOS' 카테고리의 다른 글
[iOS]전화 바로 걸기: 전화 번호와 특수문자 (0) | 2021.08.02 |
---|---|
[Swift] textField를 통해 PickerView를 사용시 문제점 개선한 방법 (0) | 2020.11.04 |
[Swift] Alamofire And JSON (0) | 2020.11.01 |
[Swift] present or push after dismiss or pop in view, 화면 전환 (0) | 2020.08.17 |
[API]Firebase setValue completion problem (0) | 2020.08.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로파일
- TextField
- subject
- 클린아키텍처
- 코테
- dip
- Swift
- notification
- provisioning profile
- rxcocoa
- ios
- Push
- 프로비저닝
- 프로비저닝 프로파일
- 아키텍처
- Apple
- MVC
- Clean Architecture
- APNS
- certificate
- MVVM
- 코드사이닝
- TabBar
- RxSwift
- Rx
- relay
- CSR
- remote
- 동적계획법
- Crossing Boundaries
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함