본문으로 건너뛰기

2026년 iOS 및 Android용 앱 리뷰 완전 가이드

2026년 iOS 및 Android용 앱 리뷰 완전 가이드

첫 번째 앱 개발자를 위한 모든 것을 포함한 가이드입니다. 앱 스토어와 플레이 스토어 리뷰를 통과하기 위한 로그인 요구 사항, 개인 정보 보호 정책, 현재 구글 플레이 테스트 요구 사항 등에 대한 정보를 제공합니다.

마틴 도나디유

마틴 도나디유

콘텐츠 마케터

2026년 iOS 및 Android용 앱 리뷰 완전 가이드

첫 번째 앱을 앱 스토어 또는 플레이 스토어에 제출하는 것은 압도적인 느낌을 줄 수 있습니다. 2026년 현재의 지침과 더 엄격한 집행으로 인해 앱을 승인하기 위해서는 세부 사항에 주의를 기울여야 합니다. 이 완전한 가이드는 iOS와 Android 플랫폼의 첫 번째 제출에 대한 리뷰를 통과하기 위해 필요한 모든 것을 안내합니다.

애플과 구글은 최근 몇 년 동안 개인 정보 보호, 보안 및 사용자 경험에 대한 특별한 강조를 포함하여 검토 과정을 엄격하게 강화했습니다. 이러한 변경 사항을 이해하는 것은 초보 개발자에게 중요합니다.

iOS 앱 스토어 검토 일정

  • 표준 검토24-48 시간
  • 피크 기간3-5 일 (특히 휴일 시즌)
  • 주말검토 없음
  • 급여 검토중요한 버그 수정에 대한 요청을 통해 앱 스토어 연결을 통해만 이용 가능합니다.

프로 팁주중 초반에 제출하여 주말 지연을 피하세요. 월요일 제출은 일반적으로 수요일에 검토됩니다.

App Store Connect 상태

  • 제출준비: 빌드 또는 메타데이터가 준비 중입니다.
  • 심사 대기: 애플이 제출을 대기열에 넣었습니다.
  • 심사 중: 앱을 검토하는 심사 팀이 활발히 활동 중입니다.
  • 개발자 배포 대기: 승인되었지만, 개발자의 수동 배포 선택을 기다리고 있습니다.
  • 반려/해결되지 않은 문제: 승인하기 전에 애플이 변경이 필요합니다.

Google Play Store 심사 일정 (2026년 업데이트)

  • 초기 검토: 3-7 일 (이전 연도보다 훨씬 더 길다)
  • 테스트 게이트 폐쇄: 영향을 받는 새로운 개인 Play Console 계정에 대한 생산 액세스를 요청하기 전에 14 일 이상이 걸린다
  • 테스트 후 생산 검토: 폐쇄 테스트 요구 사항이 완료된 후 일반적으로 3-7 일 후
  • 기존 앱 업데이트: 1-3 일
  • 정책 위반: 추가 검토가 트리거되면 14 일 이상까지 연장될 수 있다

중요 업데이트: Google은 일부 새로운 Play Console 계정에 대해 훨씬 더 엄격한 테스트가 필요하다고 요구하기 때문에 자세한 내용은 아래에서 다룹니다.

Apple 개발자 계정 설정

첫 번째 iOS 릴리스 전에 Apple 측이 올바르게 설정되어 있는지 확인하세요:

  • Apple Developer 프로그램에 가입하세요 Apple 계정에 사용되는 가입을 위해 두 단계 인증을 Apple 계정에 사용되는 가입을 위해 두 단계 인증을 활성화하세요
  • 정확한 회원 유형을 선택하세요:
  • 개인 / 단독 사업자
    • : 판매자 이름은 App Store에 표시됩니다.단체
    • : 법적 엔터티, D-U-N-S 번호, 공개 웹사이트 및 Apple의 계약에 회사에 결합할 수 있는 사람등록 시 법적 이름을 사용하세요. 첫/마지막 이름 field에 별명 또는 회사 이름을 사용하면 승인 지연이 발생할 수 있습니다.
  • 등록 승인이 나면 App Store Connect에 로그인하여 앱 레코드를 만들고 최종 번들 ID, 앱 이름, SKU, 및 기본 언어를 설정하세요.
  • __CAPGO_KEEP_0__

애플 개발자 프로그램 등록 페이지

웹에서 애플 등록 계속하기

애플 개발자 엔터티 유형을 선택하세요

중요: 애플은 시간에 따라 SDK 최소 요구 사항을 변경합니다. 2026년 4월 28일부터 앱 스토어 연결에 업로드된 앱은 iOS & iPadOS 26 __CAPGO_KEEP_0__ 이상을 사용해야 합니다Android 테스트 요구 사항 iOS & iPadOS 26 SDK or later.

새로운 개인 Android 계정에 대한 12 명 테스터 요구 사항

Google Play 개발자 계정이면

애플 개발자 프로그램 등록 페이지

웹에서 애플 등록 계속하기 __CAPGO_KEEP_0____CAPGO_KEEP_0__는 2023년 11월 13일 이후에 생성된 개인 계정입니다.

요구 사항:

  • 최소 12 명의 테스터: 최소 12 명의 테스트를 동의한 테스터를 모집해야 합니다.
  • 14 일간 테스트 기간: 최소 14 일 연속으로 테스트를 마무리해야 합니다.
  • 운영 액세스 신청: 테스트 기간이 끝난 후에도 Play Console에서 운영 액세스를 신청해야 합니다.
  • 피드백 수집: 발견한 문제, 수정한 내용, 테스터가 앱을 사용한 방법을 문서화해야 합니다.

테스트 트랙 설정 방법

  1. 테스트 트랙을 닫힌 상태로 생성하세요

    • Google Play 콘솔로 이동하세요
    • 테스트 및 출시 > 테스트 > 닫힌 테스트로 이동하세요
    • 닫힌 테스트 트랙에서 새로운 릴리즈를 생성하세요
    • 닫힌 테스트 트랙에서 Android 앱 번들 업로드하세요 (.aab)
  2. 테스터를 모집하세요

    테스터를 찾는 곳:

    • 친구와 가족 (가장 쉬운 시작점)
    • 개발자 커뮤니티 (Reddit의 /r/androiddev, /r/betatests)
    • 소셜 미디어 팔로워
    • 베타 테스트 플랫폼 (BetaList, BetaTesting.com)
    • 대학 학생 (연결이 있다면)

    중요: 테스터가 유효한 Gmail 계정을 가지고 있는지 확인하세요:

    • 유효한 Gmail 계정을 가진 Android 기기를 실제로 사용하는 테스터를 모집하세요
    • 14일 동안 계속 옵트인 상태를 유지하는 테스터를 모집하세요
    • 테스터 초대
  3. Play Console에서 테스터 목록을 만드세요

    • 테스터 이메일 주소를 Play Console에 추가하세요
    • 테스터에게 옵트인 URL을 공유하세요
    • 테스터가 앱을 설치하고 사용하는 것을 확인하기 위해 nhắc음을 보내세요
    • 테스트 활동 모니터링
  4. Play Console에서 설치 숫자를 확인하세요

    • 테스트 활동을 모니터링하세요
    • 애플리케이션 오류 보고 및 ANR (응답이 없는 애플리케이션)를 추적하십시오.
    • 테스터들로부터 피드백을 수집하십시오.
    • 프로모션 전에 모든 심각한 문제를 해결하십시오.
  5. 프로덕션으로 출시하십시오.

    • 14일 이상 12명 이상의 테스터가 동의한 경우
    • Play Console 대시보드에서 프로덕션 액세스 신청하십시오.
    • 모든 오류 보고서 및 피드백을 검토하십시오.
    • 최종 검토를 위해 프로덕션 릴리즈를 생성하고 제출하십시오.

왜 구글이 이 요구 사항을 도입했습니까?

구글은 이 요구 사항을 도입하여:

  • 저품질 앱 스팸을 줄이기 위해
  • 사용자에게 앱이 적절히 테스트되었는지 확인하기 위해
  • 악성 앱을 실제 사용 패턴을 통해 식별하십시오.
  • 전체 구글 플레이 스토어 품질을 향상시키십시오.

현실 점검: 이 기능을 추가하면 최소 2-3주가 출시 일정에 추가됩니다. 계획을 세우고 테스터를 조기에 모집하십시오.

인증 및 로그인 요구 사항

인증 시스템의 적절한 구현이 부족한 경우 가장 흔한 거절 사유입니다. 특히 소셜 로그인에 대한 것입니다.

애플 로그인 요구 사항 (iOS용 중요)

애플의 규칙: 앱이 구글, 페이스북, 트위터 등第三자 소셜 로그인 옵션을 제공한다면, 앱 로그인 옵션도 제공해야 합니다. must 앱이 구글, 페이스북, 트위터 등第三자 소셜 로그인 옵션을 제공한다면, 앱 로그인 옵션도 제공해야 합니다.

이 규칙은:

  • 구글 로그인
  • 페이스북 로그인
  • 트위터/X 로그인
  • 링크드인 로그인
  • 어떤 다른 세 번째-party 인증 서비스

이것은 __CAPGO_KEEP_0__에 적용되지 않습니다.:

  • 이메일/비밀번호만 인증
  • 정부 ID 시스템
  • 기업 SSO 시스템 (이 앱이 해당 특정 기업에 대해 사용되는 경우)
  • 교육 제공자 인증 시스템

애플과 함께 로그인 구현

당신이 사회 로그인 사용 중이라면, 여기서 구현해야 할 것을 알아야합니다.

import { SignInWithApple } from '@capacitor-community/apple-sign-in';

async function signInWithApple() {
  try {
    const result = await SignInWithApple.authorize({
      clientId: 'com.yourapp.service',
      redirectURI: 'https://yourapp.com/auth/callback',
      scopes: 'email name',
      state: '12345',
      nonce: 'nonce',
    });

    // result contains:
    // - identityToken
    // - authorizationCode
    // - email (may be null if user previously authorized)
    // - givenName
    // - familyName

    // Send to your backend for verification
    await verifyAppleToken(result.identityToken);

  } catch (error) {
    console.error('Apple Sign In failed:', error);
  }
}

중요한 고려 사항:

  1. 이메일 개인 정보 보호: 사용자는 이메일을 숨길 수 있습니다. Apple은 사설 중계 이메일 (예 : abc123@privaterelay.appleid.com). 앱은 이메일을 숨길 수 있습니다.

  2. 첫 번째 사용자 vs 이전 사용자: Apple은 첫 번째 인증 시 사용자 정보 (이름, 이메일)만 제공합니다. 이 정보를 저장해야 하며, 이후 로그인 시에는 포함되지 않습니다.

  3. 버튼 디자인: Apple은 Sign in with Apple 버튼에 대한 엄격한 디자인 지침을 제공합니다. 공식 자산을 사용하세요.

  4. 백엔드 확인: 백엔드 서버에서 항상 사용자 식별 토큰을 확인하고, 클라이언트 측 토큰만 신뢰하지 마세요.

안드로이드 소셜 로그인 요구 사항

안드로이드에서는 iOS와 같이 특정 제공자를 요구하지 않지만, Google은 지침을 제공합니다:

구글 로그인 요구 사항:

  • 공식 구글 로그인 SDK을 사용해야 합니다.
  • 구글의 브랜딩 가이드라인을 따르세요.
  • 사용할 수 있는 경우 기본 옵션으로 제공하세요.

Cross-Platform 최적화: 모바일과 웹에서 일관성을 유지하기 위해 동일한 로그인 옵션을 제공하세요.

  • 이메일/비밀번호
  • 애플 로그인 (iOS 전용 또는 Android에서 웹 기반 애플 로그인을 지원하는 경우)
  • 구글 로그인
  • 기타 소셜 옵션 (페이스북, 트위터 등)

데모 계정 요구 사항

리뷰를 위해 중요합니다.: 앱이 로그인 기능을 필요로 한다면, App Review Notes에 작동하는 데모 인증 정보를 제공해야 합니다. 일반적인 실수

Demo Account Information:

Username: reviewer@demo.com
Password: ReviewTest123!

OR

Test Phone: +1 555-0123
Test OTP: 123456 (static for review)

Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily

만료된 인증 정보를 제공하는 경우:

  • 데모 계정이 모든 기능에 접근할 수 없는 경우
  • 전화 인증을 우회하는 방법을 언급하지 않는 경우
  • 샌드박스 결제 세부 정보를 언급하지 않는 경우
  • 개인 정보 보호 정책 및 법적 요구 사항

앱 제출을 승인하기 전에. Common Mistakes Providing expired credentials

__CAPGO_KEEP_0__

__CAPGO_KEEP_1__

  1. __CAPGO_KEEP_2__

    • __CAPGO_KEEP_3__
    • __CAPGO_KEEP_4__
    • __CAPGO_KEEP_5__
  2. __CAPGO_KEEP_6__:

    • __CAPGO_KEEP_7__
    • __CAPGO_KEEP_8__
    • __CAPGO_KEEP_9__
    • __CAPGO_KEEP_10__
    • __CAPGO_KEEP_11__
    • 개인 정보 보호에 대한 문의에 대한 연락처 정보
    • 13/16세 미만 사용자를 대상으로하는 앱의 아동 개인 정보 보호
  3. 앱 내에서 연결

    • 설정 또는 계정 화면에서 액세스할 수 있습니다
    • 메뉴에 묻지 말고 한 번에 탭해야 합니다
    • 기본 브라우저 또는 앱 내 브라우저에서 열려야 합니다

개인 정보 보호 정책을 호스팅하는 곳

Option 1: 웹사이트 (권장)

https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service

Option 2: GitHub 페이지 (무료)

https://yourusername.github.io/app-privacy-policy

Option 3: 개인 정보 보호 정책 생성기 (Quick Start)

중요: 데이터 처리 실제 실무를 반영하는 정책을 보장하기 위해, 시작을 위한 생성기는 충분합니다. 그러나 앱이 실제로 제공하는 서비스와 일치하지 않는 일반 템플릿은 검토 대상입니다.

약관 및 이용 조건 요구 사항

약관 및 이용 조건은 항상 필수적이지 않지만, 다음 경우에는 강력히 권장하고 필요합니다.

  • 앱 내 구매 또는 구독을 제공합니다.
  • 사용자 생성 콘텐츠가 있습니다.
  • 기본 앱 기능 이외의 서비스를 제공합니다.
  • 법적 보호를 원합니다.

필수 포함:

  • 허용된 사용 정책
  • 계정 종료 조건
  • 책임 한계
  • 지적 재산권
  • 분쟁 해결 절차
  • 환불 정책 (특히 IAP)

앱 내 구현

// Settings or Account Screen
function LegalLinks() {
  return (
    <div className="legal-section">
      <h3>Legal</h3>
      <a
        href="https://yourapp.com/privacy-policy"
        target="_blank"
        rel="noopener noreferrer"
      >
        Privacy Policy
      </a>
      <a
        href="https://yourapp.com/terms-of-service"
        target="_blank"
        rel="noopener noreferrer"
      >
        Terms of Service
      </a>
      <a
        href="https://yourapp.com/contact"
        target="_blank"
        rel="noopener noreferrer"
      >
        Contact Us
      </a>
    </div>
  );
}

앱 스토어 메타데이터 요구 사항

두 개의 스토어는 앱 제출 시 개인 정보 정책 URL 제공을 요구합니다:

iOS - 앱 스토어 연결:

  • 앱 정보 > 일반 정보 > 개인 정보 정책 URL
  • HTTPS만 사용해야 합니다 (HTTP은 거부될 것입니다)
  • App Store 페이지에 표시될 것입니다
  • 사용자에게 실제 연락처 정보를 포함한 지원 URL을 추가하세요
  • 제출 전에 연령 등급 설문조사를 완료하세요

Android - Google Play 콘솔:

  • 스토어 존재 &gt; 스토어 설정 &gt; 개인 정보 정책
  • 어린이 대상 앱을 위한 필수
  • 모든 앱에 강력히 추천

iOS의 개인 정보 영양 표식 (Privacy Nutrition Labels)

iOS는 '영양 표식' 형식의 세부 개인 정보 공개가 필요합니다:

declare해야 하는 카테고리:

  • 연락처 정보이메일, 이름, 전화번호
  • 금융 정보결제 정보, 신용 카드, 은행 계좌
  • 위치정확한 위치 또는 거리
  • 사용자 콘텐츠사진, 비디오, 음성, 메시지
  • 식별자사용자 ID, 장치 ID, 광고 ID
  • 사용 데이터제품 상호 작용, 광고 데이터, 충돌 로그
  • 디아그노스틱: 데이터 충돌, 성능 데이터

각 데이터 유형에 대해 명시하세요:

  • 데이터가 수집되는지 여부
  • 사용자 식별 정보와 연결되는지 여부
  • 추적 목적으로 사용되는지 여부
  • 수집 목적

일반적인 실수: 데이터 수집을 하지 않는다고 말할 때, 분석 SDK이 데이터를 수집하고 있는 경우입니다. 모든 3rd 파티 SDK를 데이터 수집에 대한 감사 진행하세요.

Google Play 데이터 안전 섹션

iOS와 유사하게, Android는 데이터 안전성 선언이 필요합니다.

단계:

  1. Play 콘솔 &gt; 앱 콘텐츠 &gt; 데이터 안전성으로 이동하세요
  2. 데이터 수집에 대한 질문에 답합니다.
  3. 수집하는 데이터의 타입을 지정합니다.
  4. 보안 관행 (암호화 등)에 대해 설명합니다.
  5. 개인 정보 보호 정책 링크를 제공합니다.

중요: 이 정보는 법적으로 ràng buộc됩니다. 오보는 앱 제거 및 계정 정지로 이어질 수 있습니다.

앱 거부의 일반적인 첫 번째 사유

앱 거부를 이해하면 이러한 함정에 빠지지 않도록 도와줍니다:

1. 앱이 충돌하거나 실행되지 않습니다.

왜 일어나는지:

  • 테스트를 오직 에뮬레이터에서만 진행하는 경우
  • 네트워크 오류에 대한 오류 처리가 누락된 경우
  • API에 하드코딩된 불가능한 엔드포인트
  • 특정 장치 기능 (카메라, GPS) 을 가정합니다.

예방하기:

// Always implement proper error handling
async function loadData() {
  try {
    const response = await fetch('https://api.yourapp.com/data');

    if (!response.ok) {
      throw new Error(`HTTP ${response.status}`);
    }

    const data = await response.json();
    return data;

  } catch (error) {
    // Show user-friendly error
    showError('Unable to load data. Please check your connection.');

    // Log for debugging
    console.error('Data load failed:', error);

    // Graceful degradation
    return getCachedData();
  }
}

테스트 체크리스트:

  • 실제 장치에서 테스트 (최소 2-3 개의 모델)
  • 네트워크 연결 조건기를 사용하여 네트워크가 좋지 않은 환경에서 테스트
  • 비행 모드에서 테스트
  • 권한이 거부된 경우 테스트
  • 캐시된 데이터가 없는 새 설치로 테스트

2. 핵심 기능이 누락되거나 깨진 경우

왜 발생하는가:

  • 스크린샷에 표시된 기능이 아직 존재하지 않습니다.
  • 데모 계정은 광고된 기능에 접근할 수 없습니다.
  • 프리미엄 기능이 표시되지만 구현되지 않았습니다.
  • “Coming Soon” placeholders in the app

잘못된 내용을 방지하는 방법:

  • 모든 광고된 기능이 완료된 후에만 제출하세요.
  • 데모 계정에 전체 접근 권한이 있는지 확인하세요.
  • 제출되기 전에 완성되지 않은 기능을 제거하거나 비활성화하세요.
  • 스크린샷을 현재 빌드와 정확히 일치하도록 업데이트하세요.

3. 어린이 등급에 적합하지 않은 콘텐츠

어린이 등급이 4+로 설정되어 있지만 앱에는 사회 기능이 포함되어 있습니다.:

  • 어린이 등급이 실제 콘텐츠와 일치하지 않습니다.
  • 어린이 등급이 실제 콘텐츠와 일치하지 않습니다.
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

__CAPGO_KEEP_1__:

__CAPGO_KEEP_2__:

  • __CAPGO_KEEP_3__
  • __CAPGO_KEEP_4__
  • __CAPGO_KEEP_5__
  • __CAPGO_KEEP_6__

__CAPGO_KEEP_7__:

  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_10__
  • 성인 17세 이상
  • 성인 전용 18세 이상

중요: 사용자들이 서로 콘텐츠를 공유할 수 있다면, 다음이 필요합니다:

  • 콘텐츠 관리 시스템
  • 신고/차단 기능
  • rõ한 커뮤니티 지침
  • 필요한 경우 나이 제한

4. 속임수 또는 허위 광고

왜 일어나는가:

  • 앱 이름이 제공하지 않는 기능을 약속한다
  • 경쟁사 스크린샷 또는 모의 설계
  • 사용자 리뷰 또는 평점 조작
  • 설명에는 증명되지 않은 초월적인 표현이 포함되어 있습니다.

문제의 메타데이터의 예:

BAD:

  • 앱 이름: "베스트 피트니스 트래커 - #1 앱"
  • 설명: "최대 혁신적이고 혁신적인 앱"
  • 스크린샷: 일반적인 스톡 사진

GOOD:

  • 앱 이름: "피트 트랙 - 워크 아웃 로거"
  • 설명: "커스텀 가능한 루틴과 진행 차트와 함께 운동을 기록하세요."
  • 스크린샷: 현재 빌드에서 실제 앱 화면

5. 테스트 부족 (특히 안드로이드 클로즈드 테스트)

Why It Happens:

  • 14일간의 테스트 기간을 생략하는 경우
  • 테스터를 충분히 모집하지 못하는 경우
  • 테스터가 실제로 앱을 사용하지 않는 경우
  • 테스트 중에 충돌 모니터링을 하지 않는 경우

How to Prevent:

  • 계획된 출시 3-4주 전에 테스터를 모집하기
  • 테스트 중 Firebase Crashlytics 또는 유사한 도구를 사용하기
  • 테스터와 적극적으로 상호작용하기 (설문조사, 피드백 양식)
  • 판매에 앞서 심각한 문제를 해결하기

6. 권한 부여에 대한 정당성

Why It Happens:

  • 위치 요청하지만 사용하지 않음
  • 권한 설명 없이 카메라 접근
  • 목적이 명확하지 않은 연락처 접근
  • 이동 앱이 아닌 배경 위치

문제 해결 방법:

iOS - Info.plist:

<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>

<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>

Android - 권한 전략:

<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />

<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->

런타임 권한 요청:

import { Camera } from '@capacitor/camera';

async function takePicture() {
  // Request with context
  const permissionStatus = await Camera.requestPermissions();

  if (permissionStatus.camera === 'granted') {
    const photo = await Camera.getPhoto({
      quality: 90,
      allowEditing: true,
      resultType: 'uri'
    });

    return photo;
  } else {
    // Explain why permission is needed
    showDialog(
      'Camera access required',
      'To upload a profile picture, please enable camera access in Settings.'
    );
  }
}

iOS 전용 요구 사항

애플 스토어 스크린샷 및 미리보기

필요한 크기:

  • 6.7“ iPhone: 1290 x 2796
  • 13“ iPad: 2064 x 2752
  • 12.9“ iPad: 2048 x 2732

중요: 앱이 iPad을 지원한다면 iPad 스크린샷을 업로드해야 합니다. iPhone 스크린샷을 iPad 슬롯에 맞추지 마세요.

스크린샷 최적화:

  • 실제 앱 콘텐츠를 보여주어야 합니다 (모의 테스트는 제외)
  • 상태바를 제거하거나 실제 콘텐츠를 보여주어야 합니다
  • 지원하는 모든 언어에 맞게 지역화
  • 텍스트 오버레이를 과도하게 사용하지 마세요
  • 첫 2-3 스크린샷에서 주요 기능을 보여주어야 합니다

앱 스토어 연결 메타데이터 설정

제출하기 전에 다음 앱 스토어 연결 필드를 완료하세요:

  • 개인 정보 보호 정책 URL: iOS 앱에 필요합니다
  • 지원 URL: 실제 연락처 정보로 연결되어야 하며, 필요 시 로그인 시 demo 인증 정보 및 리뷰 팀에 대한 명확한 설명을 포함해야 합니다
  • 연령 등급: 앱을 출시하기 위해 설문조사를 완료하세요
  • 앱 리뷰 정보: 리뷰 연락처, 로그인 시 demo 인증 정보를 포함하여, 로그인 시 demo 인증 정보가 필요할 경우 demo 인증 정보 및 리뷰 팀에 대한 명확한 설명을 포함하세요
  • 수출 규제: 암호화에 대한 질문에 답변하거나, 필요 시 암호화에 대한 설정을 하세요 ITSAppUsesNonExemptEncryption in Info.plist when appropriate so you do not repeat the same answers every upload

TestFlight Before App Review

실제 TestFlight 테스트를 한 번 진행하세요.

  • TestFlight에서 설치한 정확한 빌드를 설치하세요.
  • 앱 리뷰를 제공할 계정과 동일한 계정으로 로그인하세요.
  • 구매, 복원, 취소 경로를 Walk through하세요.
  • 리뷰어는 숨겨진 설정 없이 주요 기능에 접근할 수 있는지 확인하세요.
  • iPhone과 iPad 모두 지원하는 경우 iPhone과 iPad에서 테스트하세요.

요구 사항:

  • 15-30 초 길이
  • 실제 앱 동영상 footage를 보여주세요.
  • 짧은 텍스트 오버레이 포함 가능
  • 저작권 문제가 있는 음악이 없습니다.
  • __CAPGO_KEEP_0__과 동일한 해상도

애플 로그인 구현

이미 위에 설명했지만, iOS 검토를 위해 사회 로그인 시 중요합니다.

인앱 구매 요구 사항

디지털 상품이나 서비스를 제공하는 경우:

필수적인 고지:

  • 구매 전에 명확한 가격을 알려주세요.
  • 구독 약관이 명확하게 표기되어 있습니다.
  • 취소 지침이 표시되어 있습니다.
  • 구매를 복원하는 버튼

예시로 합법적인 구독 화면:

function SubscriptionOffer() {
  return (
    <div className="subscription-screen">
      <h2>Choose Your Plan</h2>

      <PlanCard>
        <h3>Monthly</h3>
        <p className="price">$9.99/month</p>
        <ul>
          <li>Unlimited workouts</li>
          <li>Personalized plans</li>
          <li>Progress tracking</li>
        </ul>
        <button>Subscribe</button>
      </PlanCard>

      <PlanCard>
        <h3>Annual</h3>
        <p className="price">$79.99/year</p>
        <p className="savings">Save 33%</p>
        <ul>
          <li>Everything in Monthly</li>
          <li>Priority support</li>
        </ul>
        <button>Subscribe</button>
      </PlanCard>

      <div className="subscription-terms">
        <p>
          Subscription automatically renews unless cancelled at least
          24 hours before the end of the current period. Manage your
          subscription in Settings.
        </p>
        <button onClick={restorePurchases}>Restore Purchases</button>
      </div>

      <div className="legal-links">
        <a href="/privacy/">Privacy Policy</a> |
        <a href="/terms">Terms of Service</a>
      </div>
    </div>
  );
}

Android-Specific Requirements

Google Play Console 계정 설정

__CAPGO_KEEP_0__

  • 개발자 계정을 만들려면 Play Console 가입
  • Play Console에서 홈 > 앱 만들기
  • 기본 언어, 앱/게임 종류, 지원 이메일을 선택하세요
  • 필수 Play 정책, 수출, Play 앱 서명 선언을 수락하세요
  • 앱이 __CAPGO_KEEP_0__ 또는 유료

중요: Google은 유료 앱을 무료로 변경할 수 있지만, 앱이 무료로 제공된 후에는 유료로 변경할 수 없습니다.

앱 번들 요구 사항

중요: Google Play는 Android 앱 번들 (.aab) 형식이 아닌 APK를 요구합니다.

# Sync the native Android project first
bunx cap sync android

# Then build the release app bundle
cd android
./gradlew bundleRelease

목표 API 레벨 요구 사항

현재 요구 사항: 새로운 앱 및 앱 업데이트는 Android 15 (API 레벨 35) 이상을 대상으로 해야 합니다.

android/app/build.gradle에 업데이트:

android {
    compileSdkVersion 35

    defaultConfig {
        targetSdkVersion 35
        minSdkVersion 23  // Minimum supported version
    }
}

Google Play 데이터 안전

이미 위에 설명되어 있지만, Android 승인에 절대적으로 중요합니다.

폐쇄 테스트 트랙 (현재 요구 사항)

새로 생성된 개인 개발자 계정에 대한 큰 일: 이 문서의 이전 섹션에서 자세히 설명한 12 명의 테스터, 14 일의 요구 사항입니다.

타임 라인:

  1. 주 1: 테스터를 모집하고 폐쇄 테스트를 설정
  2. 주 2-3: 활성 테스트 기간 (14 일 이상)
  3. 주 4: 문제를 해결하고 생산 준비를 합니다.
  4. 주 5: 생산 검토 제출

대상 청중 및 콘텐츠 등급

콘텐츠 등급 설문 조사:

  • 모든 앱에 필요
  • 10-15 분 정도 소요
  • 나이 등급을 결정합니다 (모두, 청소년, 성인 등)
  • 업데이트할 때마다 내용이 답변에 영향을 미치는 경우

포함된 주제:

  • 폭력
  • 성적 내용
  • 비속어
  • 제어 약물
  • 카지노
  • 사용자 상호 작용 기능

중요: 사용자 생성 콘텐츠 또는 사회 기능이 있는 경우, 이를 공개하고 모니터링을 구현해야 합니다.

스토어 목록 요구 사항

필수 자산:

  • 앱 아이콘 (512 x 512 PNG)
  • 기능 그래픽 (1024 x 500 JPG 또는 PNG)
  • 폰 스크린샷 (최소 2개, 최대 8개)
  • 7“ 태블릿 스크린샷 (권장)
  • 10“ 태블릿 스크린샷 (권장)

설명 요구 사항:

  • 짧은 설명 (80자 이내)
  • 전체 설명 (4000자 이내)
  • 앱 기능을 정확하게 설명해야 함
  • 연락처 정보 또는 가격을 포함할 수 없음

제출 전 검토 목록

제출하기 전에 이 포괄적인 체크리스트를 확인하세요:

기술 요구 사항

  • 실기기에서 앱이 성공적으로 시작됩니다.
  • 스크린샷에 표시된 모든 기능이 작동합니다.
  • 장치나 “곧 출시됩니다.” 콘텐츠가 없는 경우
  • 모든 세 번째 파티 API 키가 프로덕션 키입니다.
  • 네트워크 오류 처리가 implemented됩니다.
  • 권한 요청에 명확한 설명이 포함됩니다.
  • 네트워크 조건이 좋지 않은 경우 앱이 충돌하지 않습니다.
  • 권한이 거부된 경우 테스트되었습니다.
  • 최소 지원 OS 버전에서 테스트되었습니다.
  • 메모리 누수가 확인되고 수정되었습니다.

인증 및 로그인

  • If using social login, __CAPGO_KEEP_0__ in with Apple is included (iOS)
  • 리뷰 노트에 제공된 데모 계정 자격 증명
  • 데모 계정은 모든 기능에 접근할 수 있습니다.
  • 비밀번호 재설정 흐름이 작동합니다.
  • 로그아웃 기능이 올바르게 작동합니다.
  • GDPR/CCPA에 의해 필요로하는 계정 삭제 옵션이 있습니다.
  • 개인 정보 보호 정책이 공개적으로 접근할 수 있습니다.
  • 앱 스토어 목록에 개인 정보 보호 정책 URL이 추가되었습니다.
  • 서비스 약관이 공개적으로 접근할 수 있습니다 (적용 시).
  • 인앱 설정 화면에서 개인 정보 보호 정책이 연결됩니다.
  • iOS에서 개인 정보 보호 영양 표가 정확합니다.
  • 안드로이드 데이터 안전 섹션 완료
  • 모든 데이터 수집 목적이 설명됨
  • 세 번째-party SDK 데이터 수집이 공개됨

콘텐츠 및 메타데이터

  • 앱 이름은 지침을 따름 (키워드 스태킹 없음)
  • 설명은 실제 기능을 설명함
  • 스크린샷은 현재 앱 화면을 실제로 보여줌
  • 지원하는 모든 언어에 대한 스크린샷이 지역화됨
  • 설명에는 경쟁사 언급이 없음
  • 증거가 없는 초월적인 표현이 없음
  • 실제 콘텐츠와 일치하는 나이 등급이 있음
  • 문의 이메일은 모니터링됨

__CAPGO_KEEP_0__

  • __CAPGO_KEEP_1__
  • __CAPGO_KEEP_2__
  • __CAPGO_KEEP_3__
  • __CAPGO_KEEP_4__
  • __CAPGO_KEEP_5__
  • __CAPGO_KEEP_6__
  • __CAPGO_KEEP_7__
  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_10__
  • __CAPGO_KEEP_11__
  • Android나 다른 플랫폼에 대한 참조가 없습니다.

Android 전용

  • App Bundle (.aab) 형식이 사용됩니다.
  • API 35 이상을 대상으로합니다.
  • 콘텐츠 등급 설문이 완료되었습니다.
  • 기능 그래픽이 업로드되었습니다.
  • 12명의 테스터와 14일간의 기간이 Play 콘솔 계정에 의해 요구되는 경우 폐쇄 테스트가 완료되었습니다.
  • 테스트 중의 충돌 보고서가 검토되고 수정되었습니다.
  • iOS나 다른 플랫폼에 대한 참조가 없습니다.

테스트 (Android 현재 요구 사항)

  • Play 계정에 의해 폐쇄 테스트가 요구되는 경우 12명 이상의 테스터가 모집되었습니다.
  • 폐쇄 테스트 트랙이 생성되었습니다.
  • 14일 연속 테스트 완료
  • 테스터가 실제로 앱을 사용했으며(설치만 한 경우 제외)
  • 테스트 중 앱 충돌 모니터링 활성화
  • 테스트 중 발견된 심각한 버그 수정
  • 테스터의 피드백 문서화

리뷰 노트: 포함해야 할 내용

리뷰 노트가 완벽할 경우 즉시 승인과 거부의 차이를 만들 수 있습니다. 포함해야 할 내용은 다음과 같습니다.

리뷰 노트 템플릿

APP REVIEW INFORMATION

=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)

=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100

=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms

=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)

=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)

=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account

=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours

iOS 전용 리뷰 노트

iOS의 경우 다음을 포함하세요:

=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch

=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy

=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen

Android 전용 리뷰 노트

Android의 경우 다음을 포함하세요:

=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list

=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build

=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15

__CAPGO_KEEP_0__

첫 번째 제출 시 거부는 흔한 일입니다. 여기에 어떻게 대처해야 하는지 알려드리겠습니다.

__CAPGO_KEEP_0__

  1. 거부 통지를 읽어보세요.

    • 특정 가이드라인을 위반한 부분을 기록하세요 (예: 4.3, 5.1.1).
    • 리뷰어의 댓글을 꼼꼼히 읽어보세요.
    • 스크린샷이 제공된 경우 이를 확인하세요.
  2. 이ssue를 이해하세요.

    • official 문서에서 가이드라인을 확인하세요.
    • 온라인에서 유사한 사례를 검색하세요.
    • 이것이 이해되지 않는 문제인지 또는 실제 문제인지 확인하세요.
  3. 원인에 대한 해결책을 찾으세요.

    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
  4. __CAPGO_KEEP_0__

    __CAPGO_KEEP_0__

    Thank you for the feedback. I have addressed the issue:
    
    Issue: Missing Sign in with Apple option
    
    Resolution: Added Sign in with Apple as a login option
    alongside Google Sign-In. The button appears on the login
    screen and follows Apple's design guidelines. You can test
    with the provided demo account or by creating a new account
    with Apple Sign-In.
    
    Changes made in: v1.0.1 (build 2)

    __CAPGO_KEEP_0__

    Thank you for reviewing my app. I believe there may be a
    misunderstanding regarding [specific issue]:
    
    [Explain clearly with screenshots if needed]
    
    The functionality exists at: Settings > [specific location]
    
    I've added additional detail to the review notes to help
    locate this feature.
  5. __CAPGO_KEEP_0__

    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

앱이 시작할 때 충돌합니다.

Response:

I sincerely apologize for the crash. I have identified and fixed
the issue:

Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.

Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.

Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.

Build version: 1.0.2 (build 3)

반려 사유: 개인 정보 보호 정책이 없습니다.

Response:

Thank you for the feedback. I have added the privacy policy:

URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL

The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.

반려 사유: 4.2 - 최소 기능성 준수하지 않음

이것은 더 어려운 문제입니다. 앱으로 인정받을 만큼 충분한 기능을 제공하지 않는다는 뜻입니다. Response:

Thank you for the feedback. I'd like to clarify the app's
functionality:

Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]

The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]

Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.

승인 후 최적화 방법

축하합니다! 앱이 승인되었습니다. 그 상태를 유지하기 위한 방법을 알려드리겠습니다.

런칭 후 모니터링

관심 있어야 하는 주요 지표:

  • 크래시율 (1% 이하로 유지)
  • ANR율 (안드로이드 - 0.5% 이하로 유지)
  • 앱 스토어/플레이 스토어 평점
  • 리뷰 내용 검토 (모든 리뷰에 응답)
  • 사용자 보고한 버그

사용할 수 있는 도구:

  • 파이어베이스 크래시 리트리빙스
  • 앱 스토어 연결 분석
  • 구글 플레이 콘솔 비타
  • 센트리 또는 유사한 오류 추적

업데이트 지침

업데이트 제출 시:

  • 초기 제출과 마찬가지로 철저히 테스트
  • UI가 크게 변경된 경우 업데이트 스크린샷 업데이트
  • 데이터 수집이 변경된 경우 개인 정보 레이블 업데이트
  • 최신 업데이트에 대한 명확한 '새로운 기능' 설명을 제공하세요
  • 주요 변경 사항에 대한 단계적 롤아웃을 고려하세요

규정 준수 유지

연간 요구 사항:

  • Android 콘텐츠 등급을 연간 갱신하세요 (필수)
  • 사용자 연혁이 변경되는 경우 개인 정보 보호 정책을 갱신하세요
  • 콘텐츠가 변경되는 경우 연령 등급을 검토하고 갱신하세요
  • 3rd 파티 SDK를 준수하기 위해 감사하세요

연속적인 모니터링:

  • 지침 변경 사항에 대한 최신 정보를 유지하세요
  • 애플/구글 개발자 뉴스레터에 가입하세요
  • 개발자 커뮤니티에 참여하세요
  • 애플 스토어/플레이 스토어 정책 블로그를 따르세요

자원 및 추가 읽기

공식 문서

애플:

구글:

커뮤니티 리소스

개인 정보 보호 정책 도구

앱 리뷰에 도움이 필요하세요?

앱 리뷰를 처음부터 성공적으로 통과하기 위해 전문적인 도움을 원하거나 압도되면, 우리는 도와드리겠습니다!

팀과 상담 전화 예약 개인화된 도움을 위한:

  • 앱 스토어와 플레이 스토어 리뷰 준비
  • Privicy 정책 및 법적 문서 검토
  • Sign in with Apple 구현
  • 테스트 전략 및 테스터 모집
  • 리뷰 노트 준비
  • 반려 응답 및 항소
  • Complete app submission process

Capgo 팀은 수백 명의 개발자들이 앱 리뷰 프로세스를 성공적으로 탐색하는 데 도움을 주었으며, 여러분의 주말을 절약할 수 있습니다.

Conclusion

첫 번째 앱 제출이 두려울 수 있지만, 적절한 준비가 있으면 첫 번째 시도에서 리뷰를 통과할 수 있습니다. 다음의 중요한 점을 기억하세요:

  1. Start Early: 안드로이드의 경우, 12 명의 테스터를 최소 3 주 전에 계획된 출시일 전에 모집하세요.
  2. Privacy First: 개인 정보 보호 정책이 준비되어 있고, 데이터 처리 방침이 정확하게 반영되어야 합니다.
  3. Apple Sign-In: iOS에서 사회 로그인 사용하는 경우, Sign in with Apple을 포함해야 합니다.
  4. Test Thoroughly: 실제 장치에서 테스트하고, 네트워크가 느린 경우, 권한이 거부된 경우 테스트하세요.
  5. Be Honest: 정확한 메타데이터와 개인 정보 공개는 거부와 법적 문제를 방지합니다.
  6. Detailed Review Notes: 앱을 빠르게 이해할 수 있도록 리뷰어를 도와줍니다.

현재 Android 테스트 요구 사항은 시간을 추가하지만, 결국은 더 나은 앱과 출시 후 문제가 적은 앱으로 이어집니다. Android 제출에 3-4주를 계획하고 성공을 위해 잘 준비하십시오.

앱 출시에 성공하십시오! 심사에서 거부당해도, 그것은 학습의 기회입니다. 대부분의 성공적인 앱은 승인 전 여러 번의 심사를 거칩니다.

혼자서 진행하고 싶지 않다면? 상담을 예약하십시오 우리 전문가가 프로세스를 안내해 드리겠습니다.


승인 후 앱에 라이브 업데이트 구현을 도와드릴 필요가 있다면, Capgo의 라이브 업데이트 솔루션 앱 스토어 심사가 없는 앱 업데이트에 대한 완벽한 업데이트 솔루션입니다.

2026년 iOS와 Android를 위한 첫 번째 앱 리뷰 가이드에서 계속

이용 중인 경우 2026년 iOS와 Android를 위한 첫 번째 앱 리뷰 가이드 계획, 보안 및 규정 준수에 사용하는 경우 Encryption Encryption의 구현 세부 정보 Compliance Compliance의 구현 세부 정보 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로우 Capgo 보안 Capgo 보안의 제품 워크플로우 Capgo 신뢰 센터 Capgo 신뢰 센터에서 제품 워크플로에 대해.

Capacitor 앱에 대한 실시간 업데이트

Capgo 버그가 활성화된 경우 앱 스토어 승인 대기 없이 Capgo를 통해 패치를 배포하세요. 사용자는 배경에서 업데이트를 받으며 네이티브 변경 사항은 일반적인 검토 경로에 남아 있습니다.

시작하기

최신 블로그 게시물

Capgo는 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.