Skip to content

CoreLocation

S004_강현준 edited this page Nov 29, 2021 · 2 revisions

CoreLocation

왜 사용했나요?

  • 유저의 위치를 받아와서 특정 작업을 처리하기 위해서는 CLLocationManager를 사용해야했습니다.
  • 또한 유저에게 위치 권한을 물어보기 위해서도 CLLocationManager가 필요했습니다.
  • 따라서 CoreLocation 라이브러리를 사용하여 위치 관련 작업을 처리해주었습니다.


CoreLocation

어떻게 적용했나요?

  • 트래킹 기능을 사용하는 진행중인 여행 화면에 들어오면 첫 실행시에 유저에게 위치권한을 요청하도록 되어있습니다. 그 중에서 Background 트래킹 작업을 해결하기 위해 유저에게 Always 위치 권한을 요청하도록 되어있습니다. 만약 유저가 Always 권한을 허용하지 않은 상태에서 트래킹 버튼을 누르게 되면 경고창을 통해 App 설정 화면으로 사용자를 이동시켜서 권한을 수정할 수 있도록 개선하였습니다.
  • Background 트래킹 기능을 구현하기 위해 프로젝트 Capability에 Background Modes 중에서 Location Updates 권한을 허용해주었습니다. 그 후 Location Update가 일어날때마다 싱글톤으로 구현해둔 Location Manager에서 이 작업을 처리해주도록 되어있습니다. 이 때 유저가 진행중인 여행이 아닌 다른 화면으로 이동하더라도 동작하기 위해서 싱글톤으로 구현하였습니다.

수인분당선

규칙

프로젝트

기술 특장점

데일리 스크럼

1주차
2주차
3주차
4주차
5주차
6주차

회고

회의록

1주차
2주차
3주차
4주차
5주차
6주차

멘토링

기술 공유

트러블슈팅

더보기

데모 영상

Clone this wiki locally