💥 GPS 및 Camera 권한 요청 처리 방식

문제 정의

Nature Album 프로젝트에서 HomeScreen에서 카메라와 GPS 권한을 요청하는 로직을 어디에 위치시킬지에 대한 문제에 직면했다.

앱이 시작되면 MainActivity에서 HomeScreen을 띄우고, HomeScreen의 카메라 버튼을 클릭할 때 카메라 권한을 요청한 후, 권한이 허용되면 카메라를 실행한다. 그러나 권한 요청 로직을 어디에서 처리해야 하는지, 그리고 권한이 허용된 후 화면 전환을 어떻게 할지에 대한 문제가 발생했다.

주요 쟁점

  1. MainActivity에서 권한 요청을 처리할지, HomeScreen Composable에서 처리할지에 대한 결정
  2. Composable의 UI와 비UI 로직 간의 역할 분리
  3. 권한 요청 이후 화면 전환 로직 구현

문제 해결 방법

권한 요청 로직을 처리할 수 있는 여러 가지 방법을 검토하고, 각 방법의 장단점과 구현 방법을 비교하여 최적의 해결책을 도출하였다. 아래는 고려된 주요 해결 방법이다.

1. Composable 내부에서 권한 요청 관리하기

2. 별도의 권한 요청 화면을 Composable로 구현하기