RevenueCat iOS 구독은 어떻게 로컬 테스트할까? 2026 원격 맥 절차

RevenueCat iOS 구독은 어떻게 로컬 테스트할까? 2026 원격 맥 절차

먼저 결론: RevenueCat Test Store에서 앱의 구매 처리와 권한 상태를 확인하고, Xcode StoreKit 설정으로 로컬 거래 흐름을 시험한 뒤, 출시 전에는 Apple Sandbox에서 플랫폼 구매를 검증하세요. 세 환경은 목적이 다르므로 한곳의 성공을 다른 환경의 통과로 간주하면 안 됩니다.

이 안내는 RevenueCat 구독을 처음 연결해 구매 화면과 권한 해제를 확인하려는 iOS 개발자에게 적합합니다.
시뮬레이터에서 StoreKit 설정 파일을 쓰려는 개발자와, 원격 맥에서 Xcode 테스트를 분리하려는 소규모 팀도 따라 할 수 있습니다.

테스트 순서 비교: 어느 환경에서 무엇을 확인할까요?

환경 먼저 검증할 항목 적합한 사용 시점 통과해도 보장되지 않는 것
RevenueCat Test Store SDK 연결, 구매 성공·취소·실패에 따른 화면 변화, CustomerInfo와 entitlement 앱 로직을 빠르게 확인할 때 Apple 플랫폼의 실제 샌드박스 거래
Xcode StoreKit 설정 Xcode가 제공하는 로컬 StoreKit 구매 흐름 시뮬레이터에서 상품 동작을 재현할 때 App Store Connect에 등록된 상품 정보와 실제 플랫폼 거래
Apple Sandbox Apple 플랫폼 상품을 이용한 구매와 권한 연결 출시 전 실제 구매 경로를 점검할 때 모든 사용자 환경이나 배포 뒤 상황

RevenueCat은 Test Store의 사용 목적과 범위를 따로 안내하며, Apple도 Xcode와 Sandbox를 개발 단계별로 사용하는 방법을 구분합니다. 판단 기준은 간단합니다. 앱 코드의 반응은 Test Store, 로컬 StoreKit 흐름은 Xcode 설정, Apple 플랫폼 거래는 Sandbox에서 확인합니다.

점검 대상 Test Store Xcode StoreKit 설정 Apple Sandbox
상품 구성 기준 RevenueCat 프로젝트의 테스트 상품 구성 StoreKit 설정 파일의 로컬 상품 App Store Connect의 플랫폼 상품
구매 결과 확인 CustomerInfo와 entitlement 갱신 로컬 구매 흐름과 앱 표시 Sandbox 구매 뒤 플랫폼 거래와 권한 상태
검증 관점 앱과 SDK 연동 로컬 거래 재현 플랫폼 연동과 출시 전 확인
판단 등급 앱 로직 검증에 적합 개발 중 재현에 적합 플랫폼 경로 확인에 필요

여기서 “적합”은 서로 대체할 수 있다는 뜻이 아닙니다. Apple의 StoreKit 테스트 단계 안내와 RevenueCat의 Apple App Store 테스트 설명을 기준으로 검증 범위를 분리하세요.

첫 실행 전: 상품과 앱 설정을 서로 맞춥니다

1단계: RevenueCat 상품과 권한 관계를 확인합니다.
RevenueCat 프로젝트에서 테스트할 상품과 entitlement의 연결을 점검합니다. 앱에서 구독을 구매한 뒤 어떤 권한이 활성화되어야 하는지 먼저 정하세요. RevenueCat의 iOS 상품 설정 안내는 상품과 entitlement 연결을 구성하는 기준을 설명합니다.

2단계: 앱의 상품 식별자를 대조합니다.
코드의 상품 식별자, RevenueCat에 등록한 상품, 사용할 테스트 환경이 서로 맞는지 확인합니다. Apple Sandbox를 시험할 때 App Store Connect에 상품이 없는 상태라면 플랫폼 상품 구매 검증이 되었다고 볼 수 없습니다. 반면 로컬 StoreKit 설정 파일은 로컬 테스트용 구성이므로 App Store Connect에 자동으로 상품을 만들지 않습니다. Apple의 StoreKit Testing 설정 안내에서 설정 파일과 Xcode 테스트 방식을 확인하세요.

3단계: 공개 SDK 키와 비밀 키를 구분합니다.
앱에 넣는 SDK 키가 현재 RevenueCat 프로젝트에 속하는지 확인합니다. 서버용 비밀 키는 앱 코드, 저장소, 테스트 로그에 넣지 마세요. SDK 설정에 필요한 키의 역할은 RevenueCat SDK 설정 문서에서 확인할 수 있습니다.

설정 항목 확인 위치 실수했을 때 생기는 문제
앱 사용자 식별자 앱의 로그인·초기화 흐름과 RevenueCat 고객 정보 테스트 구매가 예상한 사용자에게 연결되지 않을 수 있습니다
상품 식별자 앱 코드, RevenueCat 상품, 테스트 환경 상품을 불러오지 못하거나 잘못된 상품을 시험할 수 있습니다
entitlement RevenueCat의 상품 연결과 앱의 접근 제어 구매 성공 뒤에도 유료 기능이 잠긴 채 보일 수 있습니다
SDK 키와 실행 환경 앱 초기화 코드와 빌드 설정 테스트와 출시 설정을 혼동할 수 있습니다

식별자와 키는 예시를 만들 때도 실제 값을 쓰지 마세요. 아래처럼 자리표시자로 기록하면 저장소에 유효한 자격 정보를 남기지 않고도 설정 관계를 검토할 수 있습니다.

앱 사용자 식별자: <TEST_USER_ID>
상품 식별자: <SUBSCRIPTION_PRODUCT_ID>
RevenueCat 공개 SDK 키: <PUBLIC_SDK_KEY>
서버 비밀 키: <앱에 넣지 않음>

첫 구매: Test Store에서 앱 로직을 확인합니다

4단계: Test Store로 구매 상태별 앱 반응을 시험합니다.
성공, 취소, 실패 상황을 각각 실행하고 앱이 의도한 화면을 표시하는지 확인하세요. 구매 결과만 보지 말고 CustomerInfo가 갱신되는지, 기대한 entitlement가 활성화되는지도 검사합니다. Test Store는 SDK 연동과 앱 상태 변화를 빠르게 살피는 데 유용하지만, Apple Sandbox 거래가 올바르다는 증거는 아닙니다. Test Store가 제공하는 기능 범위는 앞서 링크한 공식 안내에서 다시 확인하세요.

시험 상황 앱에서 볼 결과 기록할 내용
구매 성공 구독 화면이 닫히고 기대한 기능이 열리는지 사용자 식별자, 상품 식별자, CustomerInfo, entitlement
구매 취소 취소를 실패처럼 처리하지 않고 화면을 복구하는지 앱 메시지와 다음 동작
구매 실패 권한을 잘못 열지 않고 오류를 안내하는지 오류 처리 결과와 재시도 가능 여부

Test Store에서 성공했는데 기능이 열리지 않으면 먼저 상품과 entitlement 연결, 사용자 식별자, 앱의 권한 판정을 확인합니다. 이 단계에서 실제 플랫폼 상품 가격이나 App Store Connect 등록 상태까지 검증했다고 기록하지 마세요.

시뮬레이터 재현: StoreKit 설정 파일은 어디까지 쓸 수 있을까요?

5단계: Xcode StoreKit 설정을 전용 Scheme에 연결합니다.
Xcode에서 StoreKit 설정 파일을 준비하고, 구독 테스트에 쓸 전용 Scheme에 연결하세요. 파일에 적은 상품 식별자와 RevenueCat 쪽 상품 설정이 서로 대응하는지도 확인합니다. Apple의 Xcode StoreKit 테스트 설정 안내에서 파일 연결과 테스트 방법을 확인할 수 있습니다.

RevenueCat 제품 설정과 StoreKit 테스트 방법은 같은 항목으로 취급하지 마세요. RevenueCat의 Apple App Store 테스트 문서에서 지원 방식과 설정 조건을 확인하고, 현재 프로젝트의 SDK와 Scheme에 해당 지침을 적용합니다.

주의: 시뮬레이터에서 로컬 구매가 성공해도 App Store Connect 상품 등록, Sandbox 거래, 환불이나 취소와 관련된 플랫폼 처리가 전부 검증된 것은 아닙니다. 로컬 테스트 결과와 출시 전 플랫폼 점검 결과를 별도 기록으로 남기세요.

이 단계에서 확인할 핵심은 로컬 상품을 불러오고 앱의 구매 처리와 권한 표시가 예상대로 이어지는지입니다. Apple의 StoreKit 테스트 단계별 안내도 개발 중 로컬 테스트와 Sandbox 검증을 구분합니다. 그러므로 로컬 설정 파일의 통과 결과를 실제 플랫폼 상품 정보의 정확성으로 확대 해석하지 마세요.

출시 전: Apple Sandbox로 플랫폼 거래를 다시 확인합니다

RevenueCat 상품이 App Store Connect에 설정되어 있지 않아도 로컬 StoreKit 설정으로 앱의 구매 코드를 시험할 수는 있습니다. 하지만 그 시험만으로 Apple 플랫폼에 등록된 상품을 통한 구매까지 확인했다고 할 수는 없습니다. 플랫폼 상품을 기준으로 검증하려면 App Store Connect 상품 상태와 RevenueCat 상품 연결을 확인하고, Apple Sandbox 구매 흐름을 별도로 시험하세요.

6단계: Sandbox 구매와 권한 해제를 이어서 확인합니다.
구매를 시작해 완료한 뒤 앱에 entitlement가 반영되는지 점검합니다. 구매 흐름의 성공 여부와 상품 이름·가격 같은 표시 정보는 별개로 기록하세요. 가격과 이름이 올바른지는 플랫폼 상품 정보를 기준으로 확인해야 하며, 구매 성공만으로 메타데이터까지 맞다고 단정하면 안 됩니다.

Apple은 Sandbox에서 앱 내 구입을 테스트하는 방법을 제공합니다. 사용할 기기와 실행 방식을 정할 때는 앱의 지원 대상과 출시 검증 목표를 기준으로 하세요. 시뮬레이터 테스트 결과만으로 실제 기기에서의 모든 동작을 보장하지 말고, 필요한 플랫폼 경로를 따로 확인합니다.

원격 맥 마무리: 같은 빌드와 설정으로 결과를 재현합니다

원격 맥은 Xcode 빌드와 시뮬레이터 실행을 맡길 수 있지만, 원격에서 성공한 테스트가 다른 테스트 환경까지 대신 통과시키지는 않습니다. 원격 macOS에서 실행한 StoreKit 설정과 Apple Sandbox 결과를 서로 다른 항목으로 남기세요.

7단계: 재현 조건과 결과를 함께 기록합니다.

  • 같은 코드 제출과 테스트 전용 Scheme을 사용합니다.
  • 실행 전에 SDK 키, 상품 식별자, 사용자 식별자, 상품 연결을 확인합니다.
  • 시뮬레이터 구매인지 Apple Sandbox 구매인지 결과에 표시합니다.
  • 구매 결과, CustomerInfo, entitlement, 화면 반응을 한 기록에 남깁니다.
  • 테스트 설정을 출시 설정과 분리하고, 환경을 바꾼 뒤에는 현재 키와 상품을 다시 확인합니다.

원격 맥을 개발 환경과 분리할 필요가 있다면 원격 맥에서 Xcode 작업을 운영하는 방식과 맥 미니 렌탈 비용 안내를 비교해 보세요. 원격 환경에 접속한 뒤에도 테스트 키와 출시용 설정을 혼합하지 않는 운영 규칙은 직접 마련해야 합니다.

Mac을 이미 보유했다면 로컬 테스트가 가장 간단할 수 있습니다. 반대로 별도 맥을 구매해 상시 켜 두면 초기 하드웨어 비용, 유지 관리, 테스트 환경과 일상 작업 환경의 공유가 부담이 될 수 있습니다. 단기간 테스트하거나 개발 환경을 분리하려는 경우에는 MacDate의 원격 맥 이용 안내를 살펴보고, 필요한 작업이 Xcode 빌드와 시뮬레이터 테스트인지 실제 플랫폼 기기 검증인지부터 구분하세요. 안정적인 상시 작업을 장기간 수행하거나 특정 물리 기기·인터페이스가 필요한 경우에는 직접 보유한 장비가 더 적합할 수 있습니다.

더 읽어보기