iOS 앱 업데이트 출시 방법: 단계적 출시까지
글: Mehdi Azizi
게시, 10분
iOS 앱 업데이트는 새 버전과 새 빌드, 새로운 기능 문구를 준비해 App Review를 거친 뒤 수동, 자동 또는 7일 단계적 출시로 내보내요.
iOS 업데이트를 출시하려면 App Store Connect에서 이전보다 높은 번호로 새 버전을 만들어요. 여기에 새 빌드를 연결하고 '새로운 기능' 문구를 쓴 다음 App Review에 제출해요. 새 버전은 단순한 버그 수정이라도 매번 Apple 심사를 다시 거쳐요. 제출하기 전에 승인 후 어떻게 출시할지 골라요. 직접 출시, 승인 즉시 출시, 특정 날짜 이후 출시, 또는 7일에 걸친 단계적 출시 중 하나예요.
단계적 출시는 자동 업데이트에만 적용돼요. 첫날은 자동 업데이트 사용자의 1%, 7일째에는 전원에게 배포돼요. 일시 정지는 합계 최대 30일까지 할 수 있고, 한 번에 전체 출시로 끝낼 수도 있어요. 이 가이드는 2026년 11월 3일에 다시 확인한 Apple 도움말 페이지를 바탕으로 해요.
저는 Solys, TradaZen, Nolera를 비롯한 iOS 앱 업데이트를 Expo와 EAS로 출시해요. 아래에 나오는 사례는 모두 이 앱들을 출시하면서 겪은 일이에요.
iOS 업데이트 출시: 순서대로 따라 하기
새 버전에 관한 App Store Connect 도움말에 나온 순서는 이래요.
- Apps에서 앱을 선택하고, 플랫폼 옆의 + 버튼을 클릭해요.
- 이전보다 높은 버전 번호를 입력하고 Create를 클릭해요.
- 메타데이터를 다시 확인해요. 현재 출시된 버전의 메타데이터가 자동으로 복사돼요.
- 빌드 번호를 올린 새 빌드를 업로드해요.
- 이 빌드를 TestFlight에서 테스트하고, 버전에 추가한 다음 App Review에 제출해요.
시작하기 전에 두 가지 조건이 있어요. 현재 출시된 버전이 Ready for Distribution 상태여야 해요. 그리고 Account Holder, Admin, App Manager, Marketing 중 하나의 역할이 필요해요.
되돌리기는 없어요. Apple도 같은 페이지에 적어 두었어요. 어떤 버전에 문제가 생겨도 이전 버전으로 돌아갈 수 없어요. 새 버전을 만들어 다시 제출해야 해요.
버전 번호와 빌드 번호
버전은 고객이 앱 페이지에서 보는 번호예요. 빌드는 업로드 하나하나를 구분해요. 버전과 빌드의 조합은 고유해야 해요. 관련 규칙과 오류는 버전과 빌드 번호에 정리해 두었어요.
Apple 규칙이 아니라 제 방식인데요, 버그 수정이면 마지막 숫자를 올려요(1.4.0에서 1.4.1로). 새 기능이면 가운데 숫자를 올려요(1.4.1에서 1.5.0으로). 빌드 번호는 버전이 바뀌어도 계속 올라가기만 해요. Expo에서는 버전이 app.json에 들어 있고, EAS가 프로덕션 빌드마다 빌드 번호를 자동으로 올려 줄 수 있어요. 설정 방법은 EAS로 Expo 앱 출시하기에 있어요.
'새로운 기능' 문구: Apple이 요구하는 것
버전 정보 페이지에서는 What's New in This Version 필드를 이렇게 설명해요.
- 최대 4,000자.
- 첫 버전에는 없고, 그 이후 모든 버전에서는 필수.
- 앱 페이지의 언어마다 번역할 수 있음.
App Review Guidelines의 2.3.12 조항은 요구 사항을 하나 더해요. 새 기능과 제품 변경 사항을 명확하게 설명해야 해요. 단순한 버그, 보안, 성능 수정이라면 일반적인 문구로 충분해요. 하지만 중요한 변경 사항은 목록으로 적어야 해요. 그러니 구독이나 메인 화면이 바뀌는 버전에 '버그 수정 및 개선'만 쓰면 부족해요.
Apple은 평가 및 리뷰 페이지에서 고객이 리뷰에 남긴 문제를 고쳤다면 릴리스 노트에 언급하라고도 권해요.
버전 유형별로 고쳐 쓸 수 있는 템플릿 세 개를 준비했어요.
버그 수정용:
수정 및 안정성 개선.
- [기능]: [작동하지 않던 부분]을 수정했어요.
- [화면]이 더 빨리 열려요.
제보해 주신 분들께 감사드려요.
새 기능용:
새 기능: [기능을 다섯 단어로].
[이제 할 수 있는 것을 한 문장으로.]
찾는 곳: [탭] > [버튼].
이번 버전에서는 이것도 바뀌었어요:
- [눈에 보이는 개선 사항].
- 버그 수정.
사용 흐름이 바뀔 때:
[화면 또는 흐름]이 바뀌었어요.
- 달라지는 점: [구체적인 영향].
- 그대로인 점: [데이터, 설정, 구매].
궁금한 점이 있나요? [설정] > [도움말].
버그 수정 템플릿의 마지막 줄은 누군가 실제로 문제를 제보했을 때만 써요. 빌드에 없는 기능은 절대 적지 마세요. 2.3 조항은 메타데이터가 앱과 일치하도록 요구해요.
수동 출시, 자동 출시, 날짜 지정 출시
출시 옵션에 관한 도움말에는 세 가지 옵션이 있어요.
| 옵션 | Apple 승인 후 |
|---|---|
| 수동 | Pending Developer Release 상태가 되고, 원할 때 출시해요 |
| 자동 | 승인되자마자 출시돼요 |
| 자동, 지정한 날짜 이후 | 고른 날짜까지 기다렸다가 자동으로 출시돼요 |
수동 출시에서는 Pending Developer Release 상태인 버전을 열고 Release This Version을 클릭한 뒤 확인해요. App Store에 표시되기까지 최대 24시간이 걸릴 수 있다고 Apple은 안내해요. 버전 페이지에 뜨는 메시지에서 Cancel This Release로 취소할 수도 있어요. 버전이 30일 넘게 대기 상태로 있으면 Apple이 알림 이메일을 보내요.
수동 출시는 타이밍을 직접 고르기 위한 옵션이에요. 발표하는 날에 맞춰 출시할 때가 그런 예예요. 연간 구독의 새 버전이 들어간 Solys 2.0.0은 2026년 9월 말에 수동 출시로 심사에 들어갔어요.
일상적인 버전은 자동 출시로 둬요. 2026년 10월 12일에 승인된 Nolera 1.0.2는 iTunes 공개 검색 API로 확인해 보니 Apple 이메일을 받고 1분도 안 돼 App Store에 나타났어요. 한 번 관찰한 결과일 뿐이니 넉넉하게 잡으세요.
7일 단계적 출시
단계적 출시에 관한 Apple 도움말에 나온 정확한 일정이에요.
| 일차 | 사용자 비율 |
|---|---|
| 1 | 1% |
| 2 | 2% |
| 3 | 5% |
| 4 | 10% |
| 5 | 20% |
| 6 | 50% |
| 7 | 100% |
업데이트는 호환되는 기기에서 자동 업데이트를 켜 둔 사용자 중 무작위로 뽑힌 일부에게 배포돼요. 사용자는 자신이 대상에 포함됐다는 사실을 알지 못해요.
단계적 출시는 자동 업데이트의 속도만 늦춰요. Apple은 누구나 언제든 App Store에서 새 버전을 내려받을 수 있다고 밝히고 있어요. 앱을 새로 설치하거나 앱 페이지에서 'Update'를 누른 사람은 첫날부터 새 버전을 받을 수 있다는 뜻이에요. 사용자 1%를 대상으로 한 테스트가 아니라, 나머지 사용자에게 거는 브레이크예요.
켜려면 버전을 열고 Phased Release for Automatic Updates 섹션까지 내려가서 'Release update over a 7-day period using phased release'를 체크한 뒤 저장해요. Account Holder, Admin, App Manager 역할이 필요해요. 이 옵션은 Pending Developer Release 상태까지 쓸 수 있어요. 즉, 버전이 수동 출시를 기다리는 동안이라면 Apple 승인 후에도 켤 수 있어요.
버전이 승인되면 Ready for Distribution 상태 옆에 'Phased Release' 표시가 붙어요. 7일이 끝나면 앱의 Admin과 App Manager가 알림을 받아요.
일시 정지, 재개, 전체 출시
- 일시 정지: 합계 최대 30일, 횟수 제한 없음. 10일을 멈췄다면 이후에는 20일이 남아요.
- 재개: 멈췄던 날부터 다시 진행돼요.
- 전체 출시: 버전 화면 오른쪽 위의 Release to All Users 버튼을 누르면 자동 업데이트를 쓰는 모든 기기로 업데이트가 배포돼요.
- 판매 중단: 단계적 출시가 완전히 멈춰요. 개발자 프로그램 멤버십이 만료된 경우도 마찬가지예요. 앱이 다시 판매되면 해당 버전은 한 번에 모두에게 배포돼요.
수정 가능한 속성 표에 따르면, 전체 출시 후에는 더 이상 아무것도 조정할 수 없어요.
Nolera 1.0.2는 단계적 출시 없이 나갔어요. 그 일주일 동안 단계적 출시를 쓴다면 저는 이렇게 할 거예요.
| 보이는 상황 | 할 일 | 결과 |
|---|---|---|
| 크래시나 걱정스러운 리뷰 | 일시 정지 | 자동 업데이트가 멈춰요 |
| 수정본이 준비됨 | 새 버전 | 다시 심사를 거치고, 자체 단계적 출시를 해요 |
| 3~4일이 지나도 이상 없음 | Release to All Users | 모두가 업데이트를 받아요 |
| Apple의 답변을 기다리는 중 | 일시 정지, 합계 30일 | 멈췄던 날부터 재개돼요 |
일시 정지 중에도 직접 내려받는 다운로드는 계속돼요. 결제나 첫 실행에 영향을 주는 버전이라면 반드시 단계적 출시를 체크하세요. 결함이 생겼을 때 가장 비싼 대가를 치르는 곳이고, 되돌릴 수도 없어요.
급한 수정이라면: 신속 심사
Apple에는 신속 심사를 요청하는 방법이 있어요. 치명적인 버그 수정이나 이벤트에 맞춘 출시처럼 정말 급한 경우에만 써요.
- 먼저 버전을 제출해요. 리뷰어용 Notes 필드에 버그를 설명해요.
- 신속 심사 요청 양식을 작성하고 앱과 플랫폼을 선택해요.
- Apple이 여력에 따라 심사를 앞당겨 줘요. 보장되는 건 없어요.
이벤트 때문이라면 노트에 이벤트 날짜와 나와의 관계를 적어요. 평소 심사 기간은 App Store 심사 기간에 정리해 두었어요.
다시 심사받는 것과 그렇지 않은 것
| 변경 사항 | 필요한 것 |
|---|---|
| 네이티브 코드, 권한, SDK 버전 | 새 빌드, 새 버전, 전체 심사 |
| 스크린샷, 설명, 키워드, 새로운 기능 | 새 버전, 버전과 함께 심사 |
| 프로모션 텍스트 | 없음: 새로 제출하지 않아도 바뀌어요 |
| 일시 정지, 재개, 전체 출시 | 없음: 출시 설정일 뿐이에요 |
| iOS 27 앱 페이지 헤더 | Asset Library에서 단독으로, 또는 버전과 함께 |
| JavaScript 수정 (Expo 사용 시) | 원격 업데이트 가능 |
버전 정보 페이지에 따르면 프로모션 텍스트는 새로 제출하지 않아도 바꿀 수 있어요. Expo에서는 원격 업데이트로 App Store를 거치지 않고 JavaScript, 텍스트, 이미지를 바꿀 수 있어요. Expo 문서는 두 가지 제한을 두고 있어요. 네이티브 코드, 권한, SDK 버전을 바꾸려면 새 바이너리가 필요하고, 업데이트는 App Store 규칙을 지켜야 해요.
제 경우: 리뷰어가 한 번도 보지 못한 원격 수정
2026년 9월, Nolera 빌드 하나가 심사를 기다리고 있었어요. 스캔 화면의 결함을 고쳐서 기다리는 동안 원격 업데이트로 배포했어요. 그런데도 빌드는 이미 고친 그 결함 때문에 리젝됐어요.
이유는 expo-updates 문서에 있어요. 기본 설정에서 앱은 실행할 때 업데이트를 내려받고, 다음 실행 때 적용해요. 리뷰어는 앱을 설치해서 한 번 실행하고, 빌드에 들어 있는 코드를 테스트해요. 새 사용자도 마찬가지예요. 첫 세션은 빌드에 들어 있는 코드로 돌아가요.
그 뒤로는 홈 화면, 페이월, 핵심 기능이 바뀌면 무조건 새 빌드로 내보내요. 원격 업데이트는 이미 앱을 가진 사람들을 위해서만 써요.
새 버전과 함께 평점 초기화하기
새 버전마다 Reset rating when this version is released 옵션이 있어요. 평점 초기화에 관한 Apple 도움말에 따르면 모든 국가에 적용되고, 작성된 리뷰는 남으며, 출시 후에는 취소할 수 없어요. 평점이 적은 앱 페이지는 사용자를 망설이게 할 수 있으니, Apple은 이 옵션을 아껴 쓰라고 권해요.
업데이트 제출 전 체크리스트
- 버전 번호가 더 높고, 빌드 번호를 올렸어요.
- 빌드를 TestFlight에서 작은 iPhone으로, 그리고 앱이 지원한다면 iPad에서도 테스트했어요.
- 새로운 기능 문구를 언어별로 썼고, 중요한 변경 사항을 목록으로 적었어요.
- 인터페이스가 바뀌었다면 스크린샷이 현재 화면을 보여 줘요.
- 리뷰어용 노트에 무엇이 바뀌었고 어디서 확인할 수 있는지 적었어요.
- 출시 옵션을 골랐어요. 날짜를 맞춰야 한다면 수동이에요.
- 결제나 첫 실행에 영향을 주는 버전이라면 단계적 출시를 체크했어요.
- 나중에 수정이 필요할 때 원격으로 보낼 수 있는지, 빌드가 필요한지 알고 있어요.
업데이트할 때마다 심사 통과하기
업데이트는 매번 App Review를 다시 거치고, 리젝되면 수정본이 막혀요. Review Kit에는 제출 전 체크리스트, 제가 리젝을 해결한 사례, 그리고 Claude Code 스킬 두 개가 들어 있어요. 이 스킬들은 프로젝트와 앱 페이지를 검토하고, Apple이 리젝하면 답변을 준비해 줘요. 전체 과정은 App Store에 앱 출시하기 페이지에 있어요.
첫 출시를 준비 중이라면 무료 진단을 받아 보세요. 단계를 순서대로 정리해 주고, Apple 리젝 방지 체크리스트도 보내 드려요.
자주 묻는 질문
App Store 단계적 출시는 얼마나 걸리나요?
7일이에요. 첫날은 자동 업데이트 사용자의 1%, 이후 2, 5, 10, 20, 50%를 거쳐 7일째에 100%가 돼요. 합계 최대 30일까지 일시 정지할 수 있고, 언제든 Release to All Users로 끝낼 수 있어요.
iOS 앱 업데이트도 Apple 심사를 다시 받나요?
네. 새 버전은 빌드와 메타데이터를 포함해 모두 App Review를 거쳐요. 프로모션 텍스트와 출시 설정은 새로 제출하지 않아도 바꿀 수 있어요.
App Store에서 앱을 이전 버전으로 되돌릴 수 있나요?
아니요. 수정 사항을 담은 새 버전을 만들어 심사에 제출해야 해요. 그래서 단계적 출시와 일시 정지 기능이 유용해요.
단계적 출시 중에 새 사용자도 업데이트를 받나요?
네, App Store에서 앱을 내려받으면 받아요. 단계적 출시는 자동 업데이트만 조절해요. 누구나 언제든 새 버전을 내려받을 수 있어요.
Apple 승인 후에도 단계적 출시를 켤 수 있나요?
네, 버전이 Pending Developer Release 상태, 즉 수동 출시로 아직 공개되지 않은 상태라면 가능해요. 버전이 이미 출시됐다면 그 버전에는 늦었어요.
업데이트 릴리스 노트에는 무엇을 적어야 하나요?
새 기능과 중요한 변경 사항을 명확하게 목록으로 적어요. 2.3.12 조항의 요구 사항이에요. 단순한 버그, 보안, 성능 수정이라면 일반적인 문구로 충분해요. 이 필드는 4,000자까지 쓸 수 있고 언어별로 번역할 수 있어요.

