본문 바로가기

Profile Registry7

React Native 통합 앱 프로파일별로 단말기 권한 분리해서 요청하기 하나의 코드베이스로 여러 개의 앱 프로파일을 분리해서 빌드하다 보면 꼭 권한 문제가 발목을 잡습니다. 어떤 앱은 지도가 들어가서 위치 권한이 필요한데, 어떤 앱은 알림 기능만 있으면 되거든요.처음에는 귀찮아서 공통 초기화 함수 하나 만들고 앱 켤 때 필요한 권한을 한꺼번에 다 띄우도록 짜놓기 쉽습니다. 저도 처음엔 그렇게 편하게 가려 했습니다. 하지만 실제로 앱을 운영하고 스토어 심사를 넣다 보면 바로 문제가 터집니다. 지도가 없는 앱인데 위치 권한을 물어보니 사용자는 당황하고, 구글이나 애플 심사에서도 불필요한 권한 요구로 리젝트 먹기 딱 좋습니다.나중에 제가 다시 보거나 작업할 때 까먹지 않으려고, 기능 플래그(Feature Flag)와 권한 정책(Permission Policy)을 분리하고 기능 진.. 2026. 5. 20.
[React Native] 통합 앱 프로파일별 Feature Flag 설계 기법 (딥링크, 권한 처리 오류 막기) 하나의 코드 베이스로 여러 프로파일의 앱을 묶어서 운영하다 보면, 앱마다 기능을 다르게 켜고 꺼야 할 때가 많습니다. 어떤 앱은 지도가 들어가고, 어떤 앱은 단순 공지사항 알림판 역할만 하기도 하죠.처음에는 단순히 화면에서 버튼 하나 숨기면 끝날 줄 알았는데, 이래저래 운영하다 보니 UI만 막는다고 해결될 일이 아니었습니다. 메뉴에서는 숨겼는데 딥링크로 뚫고 들어오거나, 쓰지도 않는 위치 권한 팝업이 갑자기 뜨는 등 신경 쓸 게 한두 가지가 아니더군요.나중에 제가 또 까먹지 않으려고, 실무에서 놓치기 쉬운 통합 앱 Feature Flag 설계 기준을 코드로 정리해 둡니다.UI만 숨기면 터지는 문제들Feature Flag 기준이 흐트러지면 운영 중에 아래와 같은 귀찮은 일들이 터집니다.메뉴에서는 숨겼는데,.. 2026. 5. 20.
React Native 통합 앱 여러 프로파일 진입점 복잡할 때 정리하는 방법 (Composition Layer) 이래저래 React Native로 통합 앱을 운영하다 보면, 하나의 코드베이스에서 여러 프로파일(브랜드별 또는 업체별 앱)을 관리해야 할 때가 있습니다. 프로파일별로 파일은 잘 나눠놨는데, 막상 앱이 시작되는 진입점(App.tsx 등)에서 코드가 다시 복잡해지더군요.저의 경우도 처음에는 파일만 분리해두면 구조가 다 정리된 줄 알았습니다. 그런데 막상 앱 시작 흐름을 짜다 보니 현재 프로파일 조회하고, 컨트롤러 고르고, 라우트 접근 기준 체크하고, 예외 처리(Fallback)까지 연결하느라 진입점 코드가 금방 지저분해졌습니다.이 부분을 한 곳에서 정리하지 않으면 화면이나 네비게이션 코드가 다시 복잡해집니다. 자꾸 까먹어서 나중에도 바로 참고하려고 정리해 둡니다.내가 겪은 문제 (조립 진입점이 없을 때)시작.. 2026. 5. 20.
React Native 통합 앱 profileId 조건문 지우기 (Controller와 Model 분리) 여러 프로필을 하나의 코드베이스로 관리하는 React Native 통합 앱을 개발하고 운영하다 보면 꼭 마주치는 문제가 있습니다. 화면 레이아웃은 거의 비슷한데, 프로필마다 데이터 구조나 API 응답 필드, 처리 방식이 조금씩 다른 경우입니다.저의 경우도 처음에는 귀찮아서 화면 컴포넌트 안에서 if (profileId === '...') 같은 조건문으로 대충 때우며 빠르게 개발했습니다. 하지만 프로필이 서너 개 이상 늘어나기 시작하니까 UI 파일 하나가 데이터 변환, API 응답 정규화, 화면 상태 판단까지 전부 떠안으면서 코드가 아주 난장판이 되더군요.나중에 제가 다시 보면서 고치려고, 화면 컴포넌트의 복잡도를 낮추고 유지보수하기 편하게 Controller와 Model을 분리하는 기준을 정리해 둡니다... 2026. 5. 20.
React Native 통합 앱 프로파일별 화면 접근 제어 (Route Guard 구현하기) React Native로 여러 앱(프로파일)을 하나의 코드베이스로 묶어서 운영하다 보면, 앱마다 보여줘야 하는 화면과 막아야 하는 화면이 달라지는 경우가 자주 생깁니다. 예를 들어 어떤 앱은 지도 기능이 필요하고, 어떤 앱은 공지만 보여주면 되는 식입니다.처음에는 단순히 메뉴에서 버튼만 숨기면 끝날 줄 알았습니다. 하지만 실제로 서비스를 운영해보니 사용자가 화면에 진입하는 경로는 생각보다 훨씬 다양하더군요.메뉴 및 탭 버튼 클릭딥링크(Deep Link)를 통한 외부 진입푸시 알림(Push Notification) 클릭내부 코드 내 navigation.navigate 직접 호출앱 재실행 시 기존 화면 상태 복원메뉴만 대충 숨겨두면, 메뉴에는 없는 화면인데 딥링크나 푸시 알림을 타고 비활성화된 화면으로 쓱 .. 2026. 5. 20.
React Native 통합 앱 프로파일 회귀 테스트 설계 및 적용하기 React Native로 여러 개의 앱 프로파일을 하나의 코드베이스에서 관리하는 통합 앱 구조를 운영하다 보면, 꼭 예상치 못한 곳에서 버그가 터지곤 합니다.공통 컴포넌트나 모듈 하나를 가볍게 수정했을 뿐인데, 엉뚱한 프로파일의 첫 화면이 깨지거나 뜬금없이 권한 요청 팝업이 튀어나오는 식입니다. 처음에는 "빌드만 통과하면 문제없겠지" 싶지만, 빌드는 문법 오류나 의존성 문제만 잡아줄 뿐 각 앱별 화면 정책까지 보장해주지 않습니다.이럴 때 필요한 게 예전에 잘 되던 기능이 이번 수정 후에도 그대로 잘 도는지 확인하는 프로파일 회귀 테스트입니다. 매번 손으로 다 눌러볼 수는 없으니, 나중에 제가 다시 보면서 적용하려고 실무 기준을 정리해 둡니다.회귀 테스트가 부족할 때 겪는 문제들통합 앱 환경에서 프로파일별.. 2026. 5. 19.