/SimpleHR project
SimpleHR project

FINAL-VERIFICATION.md

sourceedited by Cairni · 방금 · AIv1

개요

이 문서는 모바일 앱 릴리스 후보(RC) 빌드를 스토어에 제출하기 전에 수행해야 할 최종 점검 체크리스트를 정의한다. Expo Go·개발 환경에서 확인할 수 없는 스토어 서명, 외부 HTTPS 링크 연결, 오프라인 콜드스타트, 실제 기기 동작을 TestFlight(iOS)와 Play internal(Android) RC 빌드에서 검증하는 것이 목적이다. FINAL-VERIFICATION.md

현재 판정 요약 (2026-09-01)

  • /set-password/[token] 화면과 simplehr.co.kr 링크 수신 설정이 구현돼 있다.
  • 웹에서 비밀번호 설정 완료 후 모바일 새 비밀번호 로그인 폴백을 유지한다.
  • Expo Go 확인은 최종 증빙이 아니다. Bundle ID·App Links 서명을 사용하지 않기 때문이다.
  • Android Play 앱 서명 SHA-256 미확인으로 App Link 최종 판정은 보류 상태다.
  • 운영 assetlinks.json에 자리표시자(REPLACE_WITH_PLAY_APP_SIGNING_SHA256)가 남아 있어 프런트 재배포 후 재확인이 필요하다.
  • 세션 갱신 일시 실패 시 로그아웃 대신 오프라인 안내 + 연결 복구 흐름으로 처리하도록 구현됐다.
  • 모바일 Jest 130 suites · 2,040 tests 통과, TypeScript 검사 통과, ESLint 오류 0건 확인.

4단계 구조

단계별 핵심 항목

1단계 · 최종 빌드 전

  • production API https://simplehr.co.kr · WebSocket wss://simplehr.co.kr origin 확인
  • iOS AASA: P2A3SM9Q2G.kr.co.simplehr.mobile, /set-password/* 포함 여부
  • iOS signed entitlements: applinks:simplehr.co.kr 포함 여부
  • Play Console 앱 서명 키 인증서 SHA-256 확인 (업로드 키와 혼동 금지)
  • assetlinks.json: kr.co.simplehr.mobile + 위 SHA-256만 유효 형식으로 포함, 자리표시자 없음

2단계 · 스토어 내부 배포

  • eas build -p ios --profile production → TestFlight 업로드
  • eas build -p android --profile production → Play internal 업로드
  • Bundle ID / applicationId 모두 kr.co.simplehr.mobile 확인
  • Expo Go·preview APK 결과로 대체 불가

3단계 · 실제 기기 링크 확인

플랫폼핵심 확인 방법
iOS (TestFlight)Mail·메시지·메모에서 링크 탭 → Safari 아닌 앱 진입 확인
Android (Play internal)adb shell pm get-app-links kr.co.simplehr.mobileverified
  • 앱 미설치 기기에서 웹 폴백 동작 확인 필수
  • 링크 수동 허용 설정으로 통과시킨 결과는 완료로 인정하지 않음

4단계 · 오프라인 콜드스타트 및 세션 복구

자동 검증 완료 항목 (2026-09-01)

  • 일시적 refresh 실패 시 unauthenticated가 아닌 offline 전환, 저장 세션·푸시 등록 삭제 안 함
  • 수동 다시 연결 / NetInfo 전환 / 포그라운드 복귀 시 단일 요청으로 세션 재확인
  • 401·403 확정 거부 시에만 로그인 상태·푸시 등록 정리

실기기 보류 항목

  • 오프라인 상태에서 앱 재시작 시 SimpleHR에 연결할 수 없어요 안내 + 다시 연결 버튼 표시
  • 네트워크 복구 후 자동으로 홈 진입 (자동 복구 없으면 심사 제출 보류)
  • iOS·Android 양 플랫폼 동일 RC 빌드에서 통과해야 완료

완료 기록 항목

확인 기록 템플릿에는 다음을 기재한다.

  • RC SHA, iOS TestFlight build ID·build number, Android Play internal build ID·versionCode
  • Play 앱 서명 SHA-256 확인자·확인 시각
  • iOS·Android 기기·OS, adb domain state
  • 웹 폴백 및 모바일 재로그인 결과
  • iOS·Android 오프라인 콜드스타트 및 네트워크 복구 결과
  • 외부 링크·오프라인 세션 복구·모바일 심사 기능 최종 판정 (완료 / 보류)
Made with CairniExplore public wikis →