앱 출시 체크리스트 — 스토어 배포 전 확인사항
앱을 개발하는 것만큼 출시 과정도 중요합니다. 심사 거절을 피하려면 체계적인 체크리스트가 필요합니다.
기능 체크리스트
□ 모든 핵심 기능이 정상 동작하는가
□ 네트워크 오류 시 에러 처리가 되어 있는가
□ 오프라인 상태에서 앱이 크래시하지 않는가
□ 로딩 상태가 적절히 표시되는가
□ 빈 상태(데이터 없음) 화면이 있는가
□ 뒤로 가기/스와이프 백이 모든 화면에서 동작하는가
□ 키보드가 입력 필드를 가리지 않는가
□ 딥링크가 올바른 화면으로 연결되는가
□ 푸시 알림이 포그라운드/백그라운드 모두에서 동작하는가
성능 체크리스트
□ 앱 시작 시간이 3초 이내인가
□ 스크롤이 60fps로 부드러운가
□ 메모리 누수가 없는가 (장시간 사용 테스트)
□ Hermes가 활성화되어 있는가
□ 릴리스 빌드에서 console.log가 제거되었는가
□ 이미지가 적절한 크기로 최적화되었는가
□ 번들 크기가 합리적인가
// console.log 제거
// babel.config.js
module.exports = {
plugins: [
['transform-remove-console', { exclude: ['error', 'warn'] }],
],
};
보안 체크리스트
□ API 키가 소스 코드에 하드코딩되지 않았는가
□ 민감 데이터가 Keychain/Keystore에 저장되는가
□ HTTPS만 사용하는가
□ ProGuard/R8이 활성화되어 있는가 (Android)
□ 디버그 모드가 비활성화되어 있는가
□ 소스맵이 프로덕션 번들에 포함되지 않았는가
iOS 출시 준비
□ Apple Developer 계정 ($99/년)
□ App ID 및 Provisioning Profile 생성
□ 앱 아이콘 (1024x1024)
□ 스크린샷 (6.7", 6.5", 5.5" 필수)
□ 앱 설명 (4000자 이내)
□ 개인정보 처리방침 URL
□ 카테고리 선택
□ 연령 등급 설정
□ 앱 내 구매 정보 (해당 시)
□ Info.plist 권한 설명 (카메라, 위치 등)
□ 64비트 지원 확인
□ 최소 iOS 버전 설정
Info.plist 권한 설명
<!-- 사용하는 권한에 대해 사용 목적을 명확히 작성 -->
<key>NSCameraUsageDescription</key>
<string>프로필 사진을 촬영하기 위해 카메라 접근이 필요합니다</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>프로필 사진을 선택하기 위해 갤러리 접근이 필요합니다</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>주변 가게를 찾기 위해 위치 정보가 필요합니다</string>
Android 출시 준비
□ Google Play Console 계정 ($25 일회성)
□ 앱 서명 키 (keystore) 생성 및 안전한 보관
□ 앱 아이콘 (512x512)
□ Feature Graphic (1024x500)
□ 스크린샷 (최소 2장)
□ 앱 설명
□ 개인정보 처리방침 URL
□ 데이터 안전 섹션 작성
□ 콘텐츠 등급 설정
□ targetSdkVersion 최신 요구사항 충족
□ AAB 형식으로 빌드
□ 64비트 지원 확인
서명된 AAB 빌드
// android/app/build.gradle
android {
signingConfigs {
release {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
}
}
}
출시 후 체크리스트
□ 크래시 모니터링 설정 (Sentry, Crashlytics)
□ 분석 도구 연동 (Firebase Analytics)
□ 에러 알림 설정
□ 첫 리뷰 모니터링
□ 성능 메트릭 대시보드 구축
□ OTA 업데이트 준비 (긴급 버그 수정용)
□ 앱 심사 거절 시 대응 계획
흔한 심사 거절 사유
| 사유 | 대응 |
|---|---|
| 크래시/버그 | 철저한 테스트 |
| 불완전한 기능 | 데모 계정 제공 |
| 권한 설명 부실 | 명확한 사용 목적 작성 |
| 개인정보 정책 누락 | URL 준비 |
| 가이드라인 위반 UI | Apple HIG/Material Design 준수 |
| 웹뷰만으로 구성 | 네이티브 기능 추가 |
정리
- 기능, 성능, 보안을 체계적으로 검증 한 후 출시하세요
- iOS와 Android는 각각 다른 요구사항 이 있으므로 별도로 준비하세요
- 권한 설명 을 명확히 작성하지 않으면 심사에서 거절됩니다
- 출시 후 크래시 모니터링 과 성능 추적 은 필수입니다
- 첫 출시는 시간이 걸리지만, 한번 세팅해두면 이후 업데이트는 수월합니다
댓글 로딩 중...