App Store 제출
Xcode 아카이브 업로드부터 앱 개인정보 라벨, 심사 제출까지 단계별로 안내합니다.
빌드한 iOS 앱을 App Store Connect에 올려 출시하는 전 과정입니다. 먼저 출시 전 준비물과 iOS 설정을 완료했다고 가정합니다.
iOS 빌드·아카이브는 macOS + Xcode 환경이 필요합니다. App Store Connect UI는 수시로 바뀌지만 흐름(아카이브 업로드 → 앱 정보 → 개인정보 라벨 → 심사 제출) 은 동일합니다.
1. 아카이브 & 업로드
- iOS 설정에 따라
project.yml의PRODUCT_BUNDLE_IDENTIFIER,DEVELOPMENT_TEAM을 자체 값으로 설정하고xcodegen generate실행 - Xcode에서 실기기용 타깃 선택 → Product → Archive
- Organizer 창 → Distribute App → App Store Connect → Upload
- 업로드한 빌드가 App Store Connect에 나타날 때까지 처리(수분~수십분) 대기
SDK의 xcframework에는 dSYM이 포함되어 있어 Validate App 시 심볼 관련 경고가 발생하지 않습니다 — 별도 조치가 필요 없습니다.
2. App Store Connect에서 앱 레코드 만들기
- App Store Connect → 앱 → 새 앱
- 플랫폼(iOS), 이름, 기본 언어, Bundle ID(위에서 설정한 값), SKU 입력
- 생성
3. 앱 정보 & 등록정보
- 앱 정보: 카테고리, 콘텐츠 권한
- 가격 및 사용 가능 여부: 무료/유료, 판매 지역
- 버전 정보: 프로모션 텍스트, 설명, 키워드, 지원 URL
- 스크린샷: 요구되는 기기 크기별 세트 업로드 (실제 앱 화면)
- 앱 아이콘: 1024×1024 (빌드에 포함)
4. 앱 개인정보 보호 라벨
앱 → 앱 개인정보 보호에서 데이터 수집 여부를 신고합니다.
- 웹앱이 수집하는 데이터를 기준으로 유형 선택 (Unveily SDK 자체는 분석·추적을 하지 않음)
- 각 데이터가 사용자 추적(Tracking) 에 쓰이는지 여부 선택
- 작성 요령: 개인정보처리방침 & 데이터 안전성
사용하는 기능의 Info.plist 사용 목적 문자열(예: NSCameraUsageDescription, NSFaceIDUsageDescription)을 사실대로 명확히 작성하세요. 목적이 불명확하거나 사용하지 않는 권한 문자열이 있으면 심사에서 거부될 수 있습니다 → 운영 배포 체크리스트.
5. 심사 정보 & 제출
- 빌드 섹션에서 1단계에서 업로드한 빌드 선택
- App Review Information: 심사관용 테스트 계정(로그인 필요 시)과 연락처 입력
- 심사 노트에 WebView 동작 설명을 첨부 → 앱 심사 팁
- 인앱결제(Pro) 사용 시 StoreKit 상품을 함께 심사에 제출 → 인앱결제 설정
- 심사에 추가 → 제출
Apple 심사는 보통 하루~수일 소요되며, 승인 시 설정한 출시 방식(수동/자동)에 따라 게시됩니다.
출시 후
- 웹 콘텐츠(HTML/CSS/JS)는 재심사 없이 자유롭게 업데이트 가능
- SDK 설정(기능 범위)을 바꾸면 새 빌드로 업데이트 제출(재심사)
- 다음 버전 업로드 시 빌드 번호를 반드시 올리세요
자주 막히는 지점
| 증상 | 원인 / 해결 |
|---|---|
| 빌드가 App Store Connect에 안 보임 | 처리 지연 또는 Bundle ID 불일치 — Xcode 업로드 로그 확인 |
| 개인정보 라벨 미작성으로 제출 불가 | 앱 개인정보 보호 섹션 완료 필요 |
| 권한 목적 불명확으로 거절 | Info.plist 목적 문자열을 사용 기능에 맞게 사실대로 작성 |
| "웹사이트를 감싸기만 함" 거절 | 네이티브 기능 활용을 심사 노트에 명시 → 앱 심사 팁 |