티스토리 뷰
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
- MVC
- TabBar
- CSR
- dip
- certificate
- 코드사이닝
- APNS
- MVVM
- Rx
- relay
- Clean Architecture
- remote
- notification
- 클린아키텍처
- Apple
- Push
- subject
- 동적계획법
- provisioning profile
- 프로파일
- 코테
- RxSwift
- TextField
- 아키텍처
- Crossing Boundaries
- ios
- 프로비저닝 프로파일
- rxcocoa
- 프로비저닝
- Swift
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함