문서 검색

업데이트와 단계적 출시

첫 출시 뒤 업데이트를 올리는 방법을 스토어별로 비교합니다. 버전 · 빌드 번호 규칙, 긴급 수정, 단계적 출시, 출시 시점 조절, 문제가 생겼을 때 출시를 멈추는 방법을 표로 정리했습니다.

마지막 확인:
목차

첫 출시를 마친 앱을 고쳐 다시 올리는 순서입니다. 업데이트도 처음 출시와 같은 심사 · 인증을 거치지만, 스토어마다 버전 번호 규칙과 단계적 출시, 문제가 생겼을 때 멈추는 방법이 다릅니다. 먼저 한 표로 견주고, 이어서 어느 스토어에나 쓰는 순서를 안내합니다.

주의

스토어의 규칙과 소요 시간은 바뀝니다. 이 페이지의 날짜와 수치는 「마지막 확인」 날짜 기준이고, 다르면 각 스토어의 공식 문서가 우선합니다. 콘솔 화면은 로그인이 필요해 직접 확인하지 못했으므로, 메뉴와 버튼 이름 · 각 단계의 성공 판정(화면에 보이는 상태)은 공식 도움말의 설명을 따랐습니다. 이름은 한국어판 도움말에서 확인한 것을 「한글(영문)」으로 적었고, 확인하지 못한 이름은 영문으로 적었습니다. 한국어판 도움말은 번역이라 실제 화면과 다를 수 있습니다.

준비물

  • 첫 출시를 마친 앱 — 단계적 출시와 관리형 게시는 업데이트에만 쓸 수 있습니다. 첫 출시는 각 스토어 편(App Store · Mac App Store · Google Play · Microsoft Store)을 따릅니다.
  • 직전에 올린 버전 번호 — 새 번호는 이전보다 높아야 합니다. 규칙은 식별자와 버전에 있습니다.
  • 새 릴리스 빌드와 출시 노트 — 사용자에게 보여 줄 변경 내용을 짧게 정리해 둡니다.
  • (선택) 시험 대상 — TestFlight 테스터 · Play 테스트 트랙의 테스터 · 패키지 플라이트 그룹처럼 새 빌드를 먼저 써 볼 사람입니다.

스토어별 차이

아래 표는 2026-10-09 에 확인한 값입니다. Mac App Store 는 App Store 와 같은 점이 많아 다른 점만 적었습니다. 스토어마다 단계적 출시를 부르는 이름이 달라(Apple 한국어판 「점진적 출시」 · Google 「단계적 출시」 · Microsoft 한국어판 「점진적인 패키지 배포」) 이 가이드는 「단계적 출시」로 통일했습니다.

항목 App Store (iOS · iPadOS) Mac App Store (macOS) Google Play (Android) Microsoft Store (Windows)
올리는 곳 앱을 열고 사이드바의 플랫폼 옆 추가 버튼(+)으로 새 버전을 만듭니다. 현재 버전 상태가 「배포 준비됨(Ready for Distribution)」이어야 새 버전을 시작할 수 있습니다 App Store 와 같고, 플랫폼마다 버전을 따로 제출합니다. 업데이트도 Mac App Store 로만 배포해야 합니다(심사 지침 2.4.5(vii)) 「테스트 및 출시 → 프로덕션」에서 「새 버전 만들기(Create new release)」를 눌러 번들을 올립니다 앱 개요 페이지 「제품 릴리스」의 「업데이트 시작(Start update)」으로 새 제출을 만들고 「인증을 위해 제출(Submit for certification)」을 누릅니다
버전 · 빌드 번호 새 버전 번호는 이전보다 높게 정하고 빌드 문자열은 처리에 성공한 업로드마다 고유해야 합니다(업로드가 실패하면 같은 번호를 다시 쓸 수 있습니다). 올리기 전에 빌드 문자열을 올립니다 빌드 문자열이 앱의 모든 버전에 걸쳐 계속 올라가야 합니다 versionCode 는 올릴 때마다 커져야 하고 이미 쓴 값은 다시 쓸 수 없습니다. 최댓값은 2,100,000,000 입니다 패키지 버전 a.b.c.d 의 네 번째 자리는 0 으로 두고 앞 세 자리를 올립니다. msix 패키지는 msix_version(없으면 pubspec.yaml 의 x.y.z 뒤에 .0)으로 버전을 정하고 + 뒤 빌드 번호는 버리니, msix_version 을 써 두었다면 그 값을 올립니다
심사 · 인증 소요 App Review 는 보통 제출의 최소 50% 를 24시간 안에, 90% 를 48시간 안에 심사합니다 App Store 와 같음 처리에 몇 시간에서 최대 7일, 예외적으로 더 걸릴 수 있습니다 인증은 영업일 기준 최대 3일이 걸릴 수 있고 통과한 뒤 평균 15분 안에 목록에 보입니다
긴급 수정(핫픽스) 고친 빌드를 새로 올려 제출합니다. 치명적인 버그를 고치는 경우 신속 심사(expedited review)를 요청할 수 있습니다. 이미 App Review 에 제출한 건만 대상이고, 심사 메시지 답글 창이 아니라 별도의 신속 심사 요청 양식으로 보내며, 현재 버전에서 버그를 재현하는 단계를 함께 적습니다 App Store 와 같음 일반 업데이트와 같은 절차로 고친 번들을 올립니다. 신속 검토를 요청하는 절차는 공식 문서에서 확인하지 못했습니다 더 높은 버전의 새 패키지로 새 제출을 만들어 인증을 받습니다. 신속 인증을 요청하는 절차는 공식 문서에서 확인하지 못했고, 급한 문의는 파트너 센터의 지원 티켓으로 하라고 Microsoft 가 안내합니다
단계적 출시 업데이트에서 고를 수 있습니다(첫 버전은 불가). 7일에 걸쳐 1 · 2 · 5 · 10 · 20 · 50 · 100% 로 늘고, 자동 업데이트를 켠 기기의 무작위 사용자부터 받습니다 App Store 와 같음 업데이트에서만 쓸 수 있습니다(첫 게시는 불가). 출시 비율은 자동으로 늘지 않아 직접 올립니다. 프로덕션 업데이트에서는 국가를 골라 시작할 수도 있습니다 MSIX 앱의 업데이트에서만 쓸 수 있습니다. 앱 개요 페이지에서 비율을 올리고, 모든 고객에게 보내려면 「패키지 출시 완료(Finalize package rollout)」를 눌러야 합니다
출시 시점 조절 수동 출시 · 승인 후 자동 출시 · 지정한 날짜 이후 자동 출시 중 고릅니다 수동이면 macOS 버전도 따로 「이 버전 출시」를 누릅니다 관리형 게시를 켜면 승인된 변경을 내가 정한 시각에 공개합니다. 제출과 공개 사이에 최소 1주일의 여유를 권합니다 「게시 보류 옵션」으로 인증 직후 게시(기본) · 「지금 게시(Publish now)」를 누를 때까지 보류 · 24시간 이상 뒤의 날짜 이후 게시 중 고릅니다. 게시 단계가 시작되면 날짜를 바꿀 수 없습니다
롤백 · 출시 중단 이전 버전으로 되돌릴 수 없고 새 버전을 만들어 제출해야 합니다. 단계적 출시는 합계 30일까지 멈출 수 있습니다 App Store 와 같음 「출시 관리 → 출시 중지(Manage rollout → Halt rollout)」를 누르면 더 받는 사용자가 없고 이미 받은 사용자는 그 버전에 남습니다. 100% 로 나간 버전도 중단할 수 있고, 그러면 이전에 완전히 출시한 버전이 새 사용자와 그 버전을 쓰지 않는 사용자에게 제공됩니다 「패키지 롤아웃 중지(Halt package rollout)」를 누르면 새 패키지 배포가 멈추고 이전 제출의 패키지가 쓰입니다. 이미 받은 고객은 그대로이니 고친 패키지를 더 높은 버전의 새 제출로 올려야 합니다

참고

어느 스토어에서도 이미 사용자 기기에 설치된 빌드를 되돌리는 기능은 확인하지 못했습니다. 문제가 생기면 출시를 멈추고, 고친 버전을 더 높은 번호로 다시 올리는 것이 기본 대응입니다. Google Play 는 100% 로 나간 버전도 중단할 수 있지만, 오래 배포됐거나 대부분의 사용자가 이미 받았다면 효과가 작다고 안내하고, 해당 트랙의 첫 출시이거나 이전 버전에 정책 위반이 있으면 쓸 수 없다고 안내합니다.

단계

  1. 바뀐 내용에 맞춰 선언을 점검합니다.

    • 개인정보 — 새로 수집하는 데이터 · 새 권한 · 새 SDK 가 있으면 스토어의 개인정보 선언(Apple 의 앱이 수집하는 개인정보, Google 의 데이터 보안, Microsoft 의 속성과 방침 URL)을 고칩니다. 방법은 개인정보와 권한을 보세요.
    • 연령 등급 — 콘텐츠나 기능이 바뀌어 등급 질문의 답이 달라질 수 있으면 설문을 다시 합니다. Microsoft 는 한 번 받은 등급을 이후 업데이트에도 쓰고, 업데이트의 내용이 등급에 영향을 주면 「편집(Edit)」으로 설문을 다시 할 수 있다고 안내하며, IARC 가 질문을 바꾸면 업데이트를 제출할 때 다시 답하라는 요청이 올 수 있다고 밝힙니다. 정책 7.20 의 11.11.2 는 2026-10-22 부터 연령 등급 정보를 제품 수명 주기 내내 정확하고 최신으로 유지하라고 정하니, Microsoft Store 에 낸 앱은 업데이트 때마다 이 점검을 하세요.
    • 사용자 생성 콘텐츠 — 사용자가 올린 콘텐츠를 다른 사용자가 볼 수 있는 기능을 더했다면 정책 11.12 의 약관 · 신고 수단 · 제거 의무를 함께 확인합니다. 이 의무는 현행 7.19 에도 있고, 7.20 의 11.12 가 2026-10-22 부터 행동 강령 · 제품 안과 웹사이트 양쪽 공개 · 보호자 설정 존중 · 제3자 게임 모드나 UGC 플랫폼 연동 규정을 더합니다. 요건은 Microsoft Store 편의 「스토어 정책 7.20」에 있습니다.

    성공 판정 — 각 콘솔의 개인정보와 등급 선언이 새 버전의 동작과 같습니다.

  2. 버전 번호를 올립니다. Apple · Google 은 pubspec.yaml 의 version: 을 올리고, 버전 이름이 같아도 + 뒤 빌드 번호는 올립니다.

    yaml
    version: 1.0.1+2        # 1.0.0+1 에서 올림
    

    Microsoft Store 용 MSIX 는 msix 패키지가 msix_version(없으면 pubspec.yaml 의 x.y.z 뒤에 .0 을 붙인 값)으로 버전을 정하고 + 뒤 빌드 번호는 버립니다. 그래서 msix_config 에 msix_version 을 써 두었다면 그 값을 직접 올리고 네 번째 자리는 0 으로 둡니다.

    yaml
    msix_config:
      msix_version: 1.0.1.0   # 1.0.0.0 에서 올림
    

    성공 판정 — 올릴 버전이 직전에 올린 버전보다 높고, Microsoft 의 패키지 버전은 네 번째 자리가 0 입니다.

  3. 새 빌드를 만들어 올립니다. 명령과 업로드 방법은 스토어별 편의 빌드와 업로드 단계를 따릅니다: App Store · Mac App Store · Google Play · Microsoft Store. Microsoft 는 앱 개요 페이지에서 먼저 「업데이트 시작」을 눌러 새 제출을 만든 뒤 패키지 페이지에 올립니다. Microsoft 는 설명 · 스크린샷 · 카테고리 · 가격만 바꿀 때 새 패키지를 올리지 않아도 새 제출을 만들 수 있다고 안내하고, 그 변경도 인증을 거칩니다.

    성공 판정 — 각 콘솔의 빌드(패키지) 목록에 새 버전이 나타납니다. Apple 은 TestFlight 탭의 빌드 업로드 상태가 「완료」이고, Google 은 「최신 버전 및 번들」에 보이며, Microsoft 는 패키지가 「유효성 검사됨」입니다.

  4. 시험합니다. Apple 은 TestFlight 의 내부 · 외부 테스트로, Google 은 내부 · 비공개 테스트 트랙으로 새 빌드를 먼저 확인합니다. Microsoft 는 Windows 앱 인증 키트로 패키지를 점검하고, 첫 게시가 끝난 앱이면 앱 개요 페이지의 「New package flight」로 지정한 고객 그룹(알려진 사용자 그룹)에게만 패키지를 먼저 줄 수 있습니다. 패키지 플라이트에서는 일부 인증 키트 실패가 통과로 보고되지만 정식 출시 전에는 모두 고쳐야 합니다.

    성공 판정 — 시험 대상이 새 빌드를 설치해 실행했고 이전 버전에서 쓰던 데이터와 로그인이 그대로 동작합니다.

  5. 제출하고 심사 · 인증을 기다립니다. Apple 은 새 버전에 빌드를 고르고 「심사에 추가」를 누른 뒤(상태가 「심사 준비됨」으로 바뀌지만 아직 App Review 로 전송되지 않은 상태입니다) 「심사를 위해 제출」까지 눌러야 하고, Google 은 변경을 저장한 뒤 게시 개요(Publishing overview)에서 「검토를 위해 전송(Send for review)」까지 눌러야 합니다. 「저장」만으로는 검토가 시작되지 않습니다(검토가 필요한 변경일 때이고, 검토가 필요 없는 변경에는 「저장」 대신 「게시」가 보이며 바로 공개됩니다). Microsoft 는 「인증을 위해 제출」을 누릅니다. 거절되면 심사 거절 대응을 보세요.

    성공 판정 — Apple 은 상태가 「심사 대기 중(Waiting for Review)」이고, Google 은 게시 개요의 「검토 중인 변경사항(Changes in review)」 구역에 변경이 있으며, Microsoft 는 앱 상태가 「인증 중(In certification)」입니다.

  6. 출시 방식을 고르고 내보냅니다. 단계적 출시를 쓰려면 Apple 은 버전 페이지의 「자동 업데이트의 점진적 출시(Phased Release for Automatic Updates)」 구역에서 7일 단계적 출시를 고르고, Google 은 릴리스를 만들 때 「단계적 출시(Staged rollout)」 구역에 비율을 입력하며, Microsoft 는 패키지 페이지의 「Roll out update gradually after this submission is published」를 켜고 비율을 입력합니다. 출시 시점을 조절하려면 위 표의 수동 출시 · 관리형 게시 · 게시 보류 옵션을 씁니다. 단계적 출시 중에는 스토어 목록 변경을 100% 로 나간 뒤로 미루라고 Google 이 권합니다.

    성공 판정 — Apple 은 상태가 「배포 준비됨」이고 그 옆에 「점진적 출시(Phased Release)」가 붙으며, Google 은 릴리스 상세의 「출시 기록(Rollout history)」에서 비율을 볼 수 있고, Microsoft 는 앱 개요 페이지에서 롤아웃 비율을 조정할 수 있습니다.

  7. 출시 뒤 지켜보고 문제가 있으면 멈춥니다. 충돌 보고서와 사용자 평가를 보면서 비율을 올립니다. Google 의 단계적 출시 비율은 자동으로 늘지 않아 직접 올려야 하고, Microsoft 는 비율을 올린 뒤에도 「패키지 출시 완료(Finalize package rollout)」를 눌러야 일부 이전 OS 의 고객까지 새 패키지를 받습니다. Apple 은 문제가 보이면 단계적 출시를 멈추고(합계 30일), 괜찮으면 「모든 사용자에게 출시(Release to All Users)」로 모두에게 내보낼 수 있습니다. 문제가 확인되면 Google 은 「출시 관리 → 출시 중지」, Microsoft 는 「패키지 롤아웃 중지(Halt package rollout)」로 멈추고 고친 버전을 더 높은 번호의 새 업데이트로 올립니다.

    성공 판정 — 문제 없이 모든 사용자에게 새 버전이 나가거나(Apple 은 7일 뒤 완료 알림, Google 은 비율이 100%, Microsoft 는 「패키지 출시 완료」로 롤아웃 마무리), 문제가 있으면 출시가 멈춘 상태에서 고친 버전의 새 제출이 시작됩니다.

  8. 긴급 수정이 필요하면 같은 순서를 짧게 돕니다. 1~5단계를 그대로 거치되 변경 범위를 줄입니다. Apple 은 치명적인 버그 수정이라면 신속 심사를 요청할 수 있습니다. Apple 은 버그 수정 업데이트에서 심사 중 추가 문제를 찾으면 법적 · 안전 문제가 없는 한 다음 제출에서 고치도록 제안할 수 있고, 제안 메시지에 답해 현재 제출을 승인받는 방법도 안내합니다(거절된 뒤 이 제안을 받았을 때의 절차는 심사 거절 대응에 있습니다). Google 은 권한 선언 양식 작성이 필요한 릴리스가 확장 검토로 오래 걸릴 수 있으니, 급하면 해당 권한을 뺀 번들로 올리는 방법을 안내합니다.

    성공 판정 — 고친 빌드가 보통 업데이트보다 짧은 변경으로 제출되어 심사 · 인증 중이거나 이미 출시됐습니다.

확인

  • 버전: 각 콘솔에 올라간 새 버전 번호가 직전 버전보다 높습니다. Microsoft 의 패키지 버전은 네 번째 자리가 0 입니다.
  • 제출: Apple 은 「심사 대기 중」, Google 은 검토 중, Microsoft 는 「인증 중(In certification)」으로 보입니다.
  • 출시: 단계적 출시라면 비율이 의도한 대로이고, 마무리할 때(Apple 7일 · Google 100% · Microsoft 「패키지 출시 완료」)까지 지켜봤습니다.
  • 선언: 개인정보 · 연령 등급 선언이 새 버전과 같습니다.

자주 겪는 문제

업데이트를 올렸는데 기존 사용자가 새 버전을 받지 못합니다

먼저 버전 번호와 출시 비율을 확인하세요. Microsoft 는 기기에 맞는 가장 높은 버전의 패키지를 배포하는데, pubspec.yaml 의 + 뒤 빌드 번호만 올리면 msix 패키지의 버전은 그대로이니 msix_version 을 올려 다시 패키징하세요. 단계적 출시 중이면 정한 비율의 사용자에게만 먼저 나갑니다. Apple 의 단계적 출시는 자동 업데이트를 켠 기기가 대상이고 App Store 에서 직접 받는 것은 언제나 가능합니다.

단계적 출시를 100% 로 올렸는데 일부 Windows 사용자가 새 버전을 받지 못합니다

비율을 100% 로 올리는 것만으로는 모든 고객이 새 패키지를 받지 못합니다. 롤아웃을 지원하지 않는 OS 버전의 고객이 있어서, Microsoft 는 「패키지 출시 완료(Finalize package rollout)」를 눌러야 이전 패키지 배포를 멈추고 모든 기존 고객을 새 패키지로 올린다고 안내합니다.

새 버전(새 제출)을 만들 수 없습니다

끝나지 않은(미완료) 버전이 있기 때문입니다. Google 은 미완료 릴리스(롤아웃이 끝나지 않았거나 게시되지 않은 버전)가 있으면 새 버전을 만들 수 없으니 단계적 출시를 100% 로 올리거나 게시 개요에서 게시되지 않은 버전을 지우라고 안내합니다. Microsoft 는 새 제출을 만들기 전에 패키지 롤아웃을 마무리(「패키지 출시 완료」)하거나 중단(「패키지 롤아웃 중지」)해야 합니다. Apple 은 현재 버전 상태가 「배포 준비됨」이어야 새 버전을 시작할 수 있습니다.

이전 버전으로 되돌리고 싶습니다

사용자 기기에서 되돌리는 기능은 어느 스토어에도 확인하지 못했습니다. Apple 은 이전 버전으로 되돌릴 수 없으니 새 버전을 만들어 제출하라고 안내합니다. Google 은 롤아웃 중단으로 이전에 완전히 출시한 버전을 새 사용자와 그 버전을 쓰지 않는 사용자에게 제공할 수 있습니다(이미 받은 사용자를 되돌리지는 않습니다). Microsoft 는 문제가 된 패키지를 빼고 이전 패키지를 올린 새 제출을 만들어 새로 받는 고객이 문제의 패키지를 받지 않게 하는 임시 방법을 안내하는데, 이미 받은 고객은 그대로이니 고친 패키지를 더 높은 버전으로 곧 올려야 합니다.

EXE/MSI 설치 파일로 올린 앱은 어떻게 업데이트하나요?

Microsoft 는 EXE/MSI 앱의 업데이트도 스토어로 제출하라고 권하지만, 스토어가 그 업데이트를 기존 사용자에게 자동이나 수동으로 나눠 주지는 않는다고 밝힙니다. 기존 사용자는 설치 프로그램이 지원하면 앱 안의 업데이트로 받고, 스토어는 새 사용자가 최신 버전을 받게 합니다. 앱 개요 페이지의 「앱 업데이트(Update app)」 구역에서 새 설치 파일의 버전이 붙은 다운로드 주소를 제출하고 「게시(Publish)」를 누릅니다. 스토어에는 패키지 파일 대신 버전이 붙은 다운로드 주소를 냅니다. 단계적 출시와 패키지 플라이트는 쓸 수 없습니다.

Mac App Store 앱을 앱 안의 업데이터로 업데이트해도 되나요?

심사 지침 2.4.5(vii)는 Mac App Store 앱이 업데이트를 Mac App Store 로 배포해야 하고 다른 업데이트 방식은 허용되지 않는다고 정합니다. 업데이트는 새 버전을 제출해서 올립니다.

CI 로 업데이트를 자동으로 올리고 싶습니다

Flutter 문서는 두 가지 CI 방법을 안내합니다. Codemagic 은 msix 패키지로 패키징하고 파트너 센터 제출 API 로 올리며, GitHub Actions 는 Microsoft Store Developer CLI(msstore)로 패키징하고 올립니다. msstore 는 첫 게시를 파트너 센터에서 마친 앱의 업데이트를 올리는 용도이고, 현재 미리 보기 단계이며 업데이트는 무료 제품에서만 지원한다고 Microsoft 가 밝힙니다. 로그인에는 개인 Microsoft 계정이 아니라 Microsoft Entra ID 자격 증명이 필요합니다. 이 가이드의 다른 스토어에는 같은 설명을 두지 않았습니다. 프로젝트에 이미 CI 설정이 있다면 그 설정과 README 를 확인하세요.

다음 단계

업데이트가 심사나 인증에서 거절되면 심사 거절 대응으로 이어서 보세요. 올리기 전 점검은 제출 전 체크리스트를 다시 훑고, 스토어별 첫 출시 절차는 스토어별 안내에서 고릅니다.

출처