App Store Connect Missing Metadata 해결: 구독이 막혔을 때
글: Mehdi Azizi
게시, 9분
Missing Metadata는 필수 항목이 비어 있다는 뜻이에요. 언어, 가격, 기간, 국가, 심사용 스크린샷, 유료 앱 계약을 확인하고 구독을 앱 버전과 함께 제출하세요.
Missing Metadata는 구독이나 인앱 구매에 필수 정보가 하나 이상 빠져 있다는 뜻이에요. 언어, 가격, 기간, 국가, 심사용 스크린샷, 유료 앱 계약 순서로 확인하세요. 상품이 이 상태에 머무는 동안에는 심사에 보낼 수 없고, 앱에서 상품을 불러올 수도 없어요. 게다가 첫 번째 구독은 앱 버전과 함께 제출해야 해요.
저는 2026년 7월에 트레이딩 시뮬레이터 앱 TradaZen에서 이 상태를 만났어요. 새로 만든 주간 구독에는 기간, 가격, 그룹, 언어 두 개가 모두 들어가 있었어요. 그런데도 계속 Missing Metadata였죠. 빠진 건 심사용 스크린샷 하나뿐이었어요. 이 글에서는 확인할 원인, 상품의 상태별로 다음 단계로 넘어가는 방법, 그리고 RevenueCat과의 관계를 정리할게요.
Missing Metadata는 무슨 뜻인가요?
올해까지 Apple 도움말은 이 상태를 이렇게 설명했어요. 상품은 만들어졌지만 스크린샷을 아직 올리지 않았거나 메타데이터를 다 채우지 않은 상태라고요. 이 상태는 어떤 항목이 빠졌는지 절대 알려주지 않아요. 그게 문제예요. 직접 찾아야 하거든요.
주의하세요. 2026년 7월에 표시 문구가 바뀌었어요. App Store Connect 릴리스 노트에 따르면 7월 15일부터 새로운 제출 방식이 적용됐어요. 이제 인앱 구매는 각자의 페이지에서 Add for Review로 제출해요. 상태 목록 페이지에는 더 이상 "Missing Metadata"가 없어요. 목록은 "Prepare for Submission"으로 시작하고, 인앱 구매에 필수 메타데이터가 빠져 있으면 제출에 추가하기 전에 채우라고 안내해요. RevenueCat 문서도 같은 내용을 확인해 줘요. 심사 전의 새 상품은 메타데이터가 빠져 있어도 "Prepare for Submission"으로 표시돼요.
반면 App Store Connect API는 여전히 MISSING_METADATA와 READY_TO_SUBMIT을 반환해요. 그래서 이 API를 쓰는 도구들은 아직 이 표현을 보여줘요. 어떤 문구로 표시되든 진단은 같아요. 필수 항목이 비어 있는 거예요.
확인할 원인, 순서대로
저는 상품 페이지에서 시작해서 계정까지 이 순서로 확인해요.
| 원인 | 수정 위치 |
|---|---|
| 이름이나 설명이 비어 있음 | 상품 페이지 |
| 그룹 표시 이름 없음 | 그룹 페이지 |
| 가격이나 기간 누락 | 상품 페이지 |
| 판매 국가 없음 | Availability |
| 심사용 스크린샷 없음 | Review Information |
| 유료 앱 계약 비활성 | Business |
| 첫 구독만 단독 제출 | 제출 |
1. 상품의 언어. 인앱 구매 정보 안내에 따르면 표시 이름과 설명은 최소 한 개 언어로 반드시 입력해야 해요. 이름은 2~30자, 설명은 최대 45자예요. 언어가 없는 상품은 제출할 수 없어요.
2. 그룹의 언어. 구독 그룹에도 표시 이름이 있어요. 사용자가 iPhone에서 구독을 관리할 때 보는 이름이에요. Apple의 구독 안내 페이지에 나와 있듯이, 그룹 페이지의 Display Name and Description 항목에서 추가해요. 필수 항목처럼 보이지 않죠. 그런데 Apple 포럼의 한 개발자는 이 항목이 비어 있는 동안 그룹의 모든 구독이 막혀 있었다고 해요. 상태가 그룹이 아니라 구독에 표시되니까 헷갈리는 거예요.
3. 가격과 기간. 구독에는 1주에서 1년 사이의 기간과 가격이 필요해요. 기술 노트 TN3186도 상품이 불러와지지 않을 때 여기서부터 시작해요. 식별자, 가격, 언어를 확인하라고요. 그리고 기간은 심사에 보낸 뒤에는 바꿀 수 없다는 점도 기억해 두세요.
4. 판매 가능 여부. Availability에서 국가나 지역을 하나 이상 선택하세요. Apple에 따르면 판매 가능 지역이 없으면 "Approved" 상태가 표시될 수 없어요.
5. 심사용 스크린샷. TradaZen에서 제가 겪은 경우이고, 포럼에서도 자주 나오는 원인이에요. "App Review Screenshot"은 앱 안에서 구매 화면이 어떻게 보이는지 보여주는 이미지로, 보통은 페이월이에요. 심사자만 보는 용도이고 App Store에는 절대 표시되지 않아요. 형식은 App Store 스크린샷과 같아요. 한 번 올리면 교체는 되지만 삭제는 안 돼요.
1024 x 1024 픽셀 홍보 이미지와 헷갈리지 마세요. 그 이미지는 스토어 페이지에서 구매 상품을 홍보하거나 윈백 오퍼를 만들 때만 쓰이고, 별도의 규칙이 있어요. 저는 구독 홍보 이미지 때문에 리젝을 받으면서 이걸 배웠어요.
6. 유료 앱 계약. 인앱 구매를 제공하려면 계정 소유자가 Business에서 Paid Apps Agreement에 서명하고, 은행 정보와 세금 정보를 입력해야 해요. 상품의 항목은 아니지만 모든 게 여기에 달려 있어요. Apple은 최신 버전의 계약에 동의하기 전에는 새 인앱 구매를 만들 수 없다고 적고 있어요. 심사용 구매 준비 페이지에서는 이 계약이 활성화되기 전에는 심사 중에 유료 구매가 작동하지 않는다고 덧붙여요. Business에서 계약, 은행 계좌, 세금 양식이 모두 활성 상태여야 해요. 이 단계는 Apple 개발자 계정 가이드에 자세히 정리해 뒀어요.
7. 첫 구독을 단독으로 제출. 메타데이터 누락은 아니에요. 그런데 다 채운 상품이 심사에 안 넘어가는 가장 흔한 이유예요. 아래에서 자세히 설명할게요.
상품의 상태와 각 단계를 넘기는 방법
제가 항상 옆에 두고 보는 체크리스트예요. 첫 번째 열은 API가 반환하는 상태, 두 번째 열은 2026년 7월 이후 Apple 도움말의 표시 문구예요.
| 상태 (API) | 현재 표시 문구 | 다음 단계로 넘기는 방법 |
|---|---|---|
| MISSING_METADATA | Prepare for Submission | 항목 채우기 |
| READY_TO_SUBMIT | Prepare for Submission | Add for Review |
| 해당 없음 | Ready for Review | Submit for Review |
| WAITING_FOR_REVIEW | Waiting for Review | Apple 기다리기 |
| IN_REVIEW | In Review | Apple 기다리기 |
| APPROVED | Approved | 국가 설정, 앱 승인 |
| REJECTED | Rejected | 수정 후 Update Review |
자세히 보면요.
- Missing Metadata에서 Ready to Submit으로. 원인 1~5의 항목을 채우고, 저장하고, 페이지를 새로고침하세요. 7월에 제 화면에는 Missing Metadata가 떠 있었고, 다음 상태는 Ready to Submit이었어요.
- Ready to Submit에서 Ready for Review로. 구독 페이지에서 Add for Review를 누르고 기존 제출이나 새 제출에 추가하세요. 인앱 구매 제출 절차에서 플랫폼, 앱 버전, 필요하면 그룹을 선택해요. 이 시점부터는 참조 이름, 가격, 판매 가능 여부만 수정할 수 있어요.
- Ready for Review에서 Waiting for Review로. 앱 버전과 그룹이 같은 제출에 들어 있는지 확인하고 Submit for Review를 누르세요.
- Waiting for Review에서 Approved로. 할 일은 없어요. 페이월이 제대로 작동하게만 해 두세요. 구매가 "Approved"가 아니라 "Accepted"가 됐다면, 같은 제출의 다른 항목이 리젝된 거예요. Apple은 모든 항목이 통과되기 전에는 아무것도 승인하지 않아요.
- Rejected. 사유는 제출의 메시지에 나와요. 해당 항목을 고치고 Update Review를 누른 다음 제출을 다시 보내세요.
첫 구독은 앱 버전과 함께 제출해요
규칙은 Apple 도움말에 나와 있어요. 첫 번째 구독은 유형별 첫 구매와 마찬가지로 새 앱 버전과 함께 제출해야 해요. 새 그룹은 최소 한 개의 구독과 함께 제출돼요. 이 첫 항목이 승인되면, 앱에 승인된 버전이 있는 한 같은 유형의 다음 항목은 새 버전 없이 제출할 수 있어요.
TradaZen에서 바로 그렇게 됐어요. 7월 버전은 연간 구독과 월간 구독을 함께 제출했어요. 아직 Missing Metadata였던 주간 구독은 제출에서 빠졌어요. 앱이 승인된 뒤에는 새 빌드 없이 단독으로 제출할 수 있었어요.
구독 없이 앱만 보내면, 구독을 승인받기 위해 새 버전이 또 필요해요. 이렇게 한 사이클이 더 늘면 며칠이 걸리는지는 App Store 심사 기간 가이드에서 볼 수 있어요.
RevenueCat과의 관계: 빈 오퍼링
RevenueCat은 직접 아무것도 판매하지 않아요. SDK가 RevenueCat 서버에서 상품 식별자를 읽고, iPhone에서 App Store에 상품을 요청해요. App Store가 상품을 돌려주지 않으면 오퍼링이 비어서 도착하고, 페이월에는 보여줄 게 없어요. 이때 SDK 로그에는 이렇게 떠요: "There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the App Store."
RevenueCat에 따르면 메타데이터가 다 채워진 상품은 심사 전에도 샌드박스에서 불러와져요. 미완성 상품은 안 돼요. RevenueCat과 Apple이 알려주는 다른 원인은 이래요.
- 유료 앱 계약과 은행 정보: RevenueCat에 따르면 반영까지 최대 24시간이 걸릴 수 있어요.
- 상품 수정: Apple에 따르면 샌드박스에 반영되기까지 최대 1시간이 걸릴 수 있어요.
- App Store Connect, RevenueCat, 코드 사이에서 상품 식별자가 다른 경우.
TradaZen에서는 상품이 반환되지 않은 구독의 카드를 코드에서 숨겨서 페이월이 깨지지 않게 해요. 2026년 10월에는 다른 이유로 오퍼가 없는 페이월을 봤어요. SDK 캐시에서 읽은 오퍼링이 비어 있었던 거예요. 그 뒤로는 오퍼링이 비어 있으면 앱 코드가 StoreKit에 상품을 직접 요청하고, 스토어가 응답하지 않으면 다시 시도하라고 안내해요.
오퍼가 없는 페이월이 막다른 길이 되면 절대 안 돼요. 사용자에게도, 구매할 수 있어야 하는 심사자에게도요. 전체 구성은 iOS 구독을 위한 RevenueCat 가이드에, 화면 표시에서 흔한 함정은 페이월 실수에 정리해 뒀어요. 상품이 준비되면 페이월이 가이드라인 3.1.2를 지키는지도 확인하세요.
일주일씩 쓰지 않고 구독 연결하기
iOS & Android Kit는 제 앱들의 출발점이 되는 코드에서 시작해요. 온보딩, 페이월, 구독이 이미 구현돼 있고, 세 번째 단계인 "수익 연결하기"에서 설정 방법을 안내해요. App Store Connect 상품부터 구매 검증까지 전체 흐름은 iOS 인앱 구독 페이지에 설명해 뒀어요.
첫 출시를 준비 중이라면 무료 진단을 받아 보세요. 단계를 순서대로 정리해 주고, 제 Apple 리젝 방지 체크리스트도 보내드려요. 이걸 다 해도 구독이 계속 막혀 있다면 저와 1시간 상담을 예약하세요. App Store Connect를 같이 열어서 비어 있는 항목을 찾아봐요.
자주 묻는 질문
다 채웠는데 왜 구독이 계속 Missing Metadata인가요?
먼저 심사용 스크린샷을 확인하고, 그다음 필수처럼 보이지 않는 구독 그룹의 표시 이름을 확인하세요. 이어서 가격, 기간, 국가가 하나 이상 있는지, Business에서 유료 앱 계약이 활성인지 점검하세요. 하나를 고칠 때마다 저장하고 페이지를 새로고침한 뒤에 판단하세요.
구독에도 스크린샷이 필요한가요?
네, App Review Screenshot이라는 심사용 스크린샷이 필요해요. 앱 안의 구매 화면, 보통 페이월을 보여주고 심사자만 봐요. App Store에는 표시되지 않아요. 1024 x 1024 픽셀 홍보 이미지와 헷갈리지 마세요. 그건 구매 상품을 홍보하거나 윈백 오퍼를 만들 때만 필요해요.
새 앱 버전 없이 구독을 제출할 수 있나요?
첫 구독은 안 돼요. 첫 구독과 그 그룹은 새 앱 버전과 함께 제출해요. 첫 구독이 승인되면, 앱에 승인된 버전이 있는 한 다음 구독은 단독으로 제출할 수 있어요.
인앱 구매의 Prepare for Submission은 무슨 뜻인가요?
2026년 7월부터 Apple 도움말이 아직 제출에 추가되지 않은 상품에 쓰는 표시 문구예요. 메타데이터가 빠져 있어도 이렇게 표시돼요. App Store Connect API는 여전히 MISSING_METADATA와 READY_TO_SUBMIT으로 두 경우를 구분해요.
RevenueCat이 왜 빈 오퍼링을 반환하나요?
App Store가 iPhone에 상품을 하나도 돌려주지 않았기 때문이에요. 가장 흔한 원인은 미완성 메타데이터, 비활성 유료 앱 계약, 서로 다른 상품 식별자, 아직 반영되지 않은 최근 수정이에요. 페이월은 이런 경우에도 사용자를 막지 않도록 처리해야 해요.

