Xcode 27.2 RC 오퍼 코드 테스트 방법? 2026 StoreKit 튜토리얼
📋 목차
Xcode 27.2 RC에서는 StoreKit 구성 파일로 앱 안 오퍼 코드 교환을 테스트하고, Transaction Manager로 앱 밖 교환을 재현하세요. 두 경로 모두 거래 업데이트와 권리 지급을 확인한 뒤 거래를 처리해야 하며, 로컬 테스트는 App Store 샌드박스나 실제 배포 검증을 대신하지 않습니다.
구독이나 앱 내 구입에 오퍼 코드 교환을 추가하는 iOS 개발자라면 앱 안 경로를 점검할 수 있습니다.
StoreKit 거래 감시와 권리 지급을 관리하는 독립 개발자라면 앱 밖 교환의 업데이트 처리를 확인하세요.
Xcode 27.2 RC를 쓰는 소규모 팀은 로컬 테스트 증거와 출시 승인 근거를 구분해야 합니다.
마지막 업데이트: 2026년 10월 30일. Xcode 27.2 RC 공개일은 Apple Developer 공개 기록, 업로드 상태는 App Store Connect 업데이트 안내를 기준으로 확인했습니다.
1단계: RC 버전과 검증 범위 확인
먼저 설치한 버전이 테스트하려는 Xcode 27.2 RC인지 확인하세요. Apple 공개 기록에는 이 RC가 2026년 10월 19일 공개된 것으로 기재되어 있습니다. 또한 App Store Connect 업데이트 안내는 해당 RC 빌드의 App Store 및 TestFlight 업로드 가능 상태를 설명합니다. 이 사실만으로 RC가 이후 정식 버전과 같은 상태라고 단정하지 마세요.
StoreKit 테스트 단계에 관한 Apple 문서는 Xcode 로컬 테스트와 샌드박스 테스트를 구분합니다. 로컬 환경은 앱의 테스트 경로와 거래 처리를 재현하는 데 쓰고, 실제 상점 연결과 배포 전 조건은 별도로 확인해야 합니다.
이 글의 범위는 앱 안 교환과 Transaction Manager를 통한 앱 밖 교환입니다. 전체 구독 상품 설계나 App Store 제출 절차는 다루지 않습니다.
2단계: 상품과 StoreKit 구성 파일 준비
프로젝트에서 사용할 StoreKit 구성 파일을 선택하거나 새로 만드세요. Apple의 Xcode StoreKit Testing 설정 문서는 구성 파일에서 테스트 상품과 오퍼 코드를 준비하는 방법을 안내합니다. 테스트를 시작하기 전에 앱의 실행 구성에서 의도한 파일이 선택되어 있는지 점검하세요.
상품 식별자가 앱 코드의 식별자와 일치하는지 확인하고, 해당 상품에 테스트할 오퍼 코드가 설정되어 있는지 살펴보세요. StoreKit 구성 파일의 상품 정보는 로컬 테스트용입니다. 여기에 입력한 가격이나 표시 내용을 App Store Connect에 등록된 실제 상품 정보로 간주하면 안 됩니다.
Xcode 27.2 RC에서 앱 안 오퍼 코드 교환은 어떻게 테스트하나요?
구성 파일에 테스트 상품과 오퍼 코드를 준비한 다음 앱의 교환 진입점에서 시스템 교환 화면을 여세요. 테스트할 코드를 선택해 확인하고, 화면이 닫힌 뒤 앱이 거래를 받았는지 확인합니다. Apple의 앱 내 오퍼 코드 지원 문서를 기준으로 앱의 교환 경로와 거래 처리 코드를 함께 점검하세요.
3단계: 앱 안 교환과 권리 처리 확인
교환 화면이 표시되었다는 사실만으로 테스트를 통과 처리하지 마세요. 화면 표시는 사용자 흐름의 일부일 뿐입니다. 앱이 해당 거래를 받아 상품에 맞는 권리를 갱신했는지, 처리 후 거래를 완료했는지 각각 확인해야 합니다.
테스트 순서는 다음과 같습니다.
- Xcode 실행 구성에서 대상 StoreKit 구성 파일을 지정합니다.
- 앱을 실행하고 상품에 연결된 오퍼 코드 교환 진입점을 엽니다.
- 테스트 코드를 선택하고 시스템 화면에서 교환을 확인합니다.
- 앱 로그나 디버거에서 거래 업데이트를 확인합니다.
- 앱의 권리 상태를 확인하고, 처리가 끝난 거래는 앱의 기존 로직에 따라 완료합니다.
구독 상품은 구독 권리 갱신 결과를 확인하고, 비소모성 상품은 잠금 해제 상태처럼 상품에 맞는 결과를 확인하세요. 두 상품 유형의 재교환 조건이나 권리 동작을 같은 규칙으로 처리하지 마세요.
주의: 거래가 도착했더라도 권리 저장이나 화면 갱신이 실패할 수 있습니다. 거래 이벤트와 사용자가 실제로 이용할 수 있는 권리 상태를 별도 항목으로 기록하세요.
4단계: Transaction Manager로 앱 밖 교환 재현
Transaction Manager로 앱 밖 교환은 어떻게 재현하나요?
StoreKit 구성 파일에서 오퍼 코드가 설정된 상품을 준비하고 Transaction Manager에서 앱 밖 교환 테스트를 실행하세요. 앱 안 교환 버튼을 누른 경우와 달리, 여기서는 앱 외부에서 시작된 거래가 앱에 전달된 뒤 업데이트 처리로 이어지는지 확인해야 합니다. 앱 밖 구매 테스트에 관한 Apple 문서의 절차를 따라 재현하세요.
앱이 실행 중인지, 거래 감시 코드가 시작되어 있는지 먼저 점검하세요. 그런 다음 Transaction Manager에서 테스트를 진행하고 앱으로 돌아와 거래 업데이트를 확인합니다. 거래 이벤트를 받았는지뿐 아니라 상품 식별자와 거래 상태를 확인한 뒤, 알맞은 권리를 반영하고 처리가 끝난 거래를 완료하세요.
앱 밖 교환을 테스트했다고 앱 안 교환 경로까지 검증된 것은 아닙니다. 두 경로의 진입 지점과 이벤트 처리가 다를 수 있으므로 결과를 각각 남기세요. Transaction.updates를 사용한다면 거래 업데이트 스트림 문서에 맞춰 앱이 업데이트를 수신하고 처리하는지도 살펴보세요.
5단계: 거래 상태를 정리하고 다시 테스트
오퍼 코드 테스트 뒤 거래를 초기화하고 다시 확인하려면 어떻게 하나요?
먼저 Transaction Manager에서 현재 테스트 거래와 앱의 권리 상태를 대조하세요. 이전 거래가 남아 있거나 이미 권리가 부여되어 있으면 같은 조건의 재시험 결과가 달라질 수 있습니다. 재현이 필요할 때는 해당 테스트 상품에 적용 가능한 거래만 관리 도구에서 검토하고 정리한 뒤 다시 실행하세요.
상품 유형과 기존 거래에 따라 재시험 조건은 달라질 수 있습니다. 모든 상품에서 거래를 지우면 같은 결과를 얻는다고 가정하지 마세요. 반복 테스트 전에는 어떤 상품과 상태를 초기화했는지 기록하고, 앱 데이터나 권리 저장소의 상태도 함께 확인하세요.
아래 표는 테스트 목적에 맞춰 환경을 선택하는 기준입니다. 적합도 평가는 보장된 기능 점수가 아니라, 각 환경에서 확인하려는 범위에 대한 판정입니다.
| 테스트 경로 | 확인하기 좋은 항목 | 적합도 판정 | 별도 확인이 필요한 점 |
|---|---|---|---|
| StoreKit 구성 파일에서 앱 안 교환 | 앱의 교환 화면, 거래 수신, 권리 반영 | 적합 | 실제 상점 연결과 샌드박스 결과 |
| Transaction Manager 앱 밖 교환 | 외부에서 시작된 거래 업데이트 처리 | 적합 | 앱 안 교환 버튼의 동작 |
| App Store 샌드박스 | 상점 환경에서의 거래 흐름 | 조건부 | 로컬 테스트 결과와 별도 기록 |
| 실제 배포 환경 | 배포된 앱과 실제 상점 조건 | 필수 검증 | 로컬 결과만으로 대체 불가 |
6단계: 결과 기록과 출시 판정
두 경로의 결과를 같은 기준으로 기록하세요. 테스트 환경과 선택한 StoreKit 구성 파일, 상품 식별자, 교환 경로, 거래 업데이트 수신 여부, 권리 반영 결과, 거래 완료 여부를 남기면 실패 지점을 다시 찾기 쉽습니다. 이 기록은 로컬에서 재현한 결과이지, 샌드박스나 실제 배포 환경의 통과 기록은 아닙니다.
| 검수 항목 | 앱 안 교환 | 앱 밖 교환 | 통과 판단 |
|---|---|---|---|
| 교환 시작 위치 | 앱의 교환 진입점 | Transaction Manager | 두 경로를 따로 실행 |
| 거래 업데이트 | 앱이 업데이트를 받는지 확인 | 외부 교환 뒤 업데이트를 받는지 확인 | 이벤트와 상품 식별자 기록 |
| 권리 반영 | 상품 유형에 맞는 상태 확인 | 외부 거래 뒤 같은 권리 처리 확인 | 앱에서 실제 권한 사용 가능 |
| 거래 완료 | 처리 후 완료 여부 확인 | 처리 후 완료 여부 확인 | 앱의 거래 처리 로직으로 점검 |
| 출시 증거 | 로컬 테스트 결과 | 로컬 테스트 결과 | 샌드박스와 실제 배포 검증은 별도 |
점검 결과가 한 경로에서만 통과했다면 전체 오퍼 코드 흐름을 승인하지 마세요. 로컬 테스트를 통과한 뒤에도 상점 환경에서 필요한 검증을 따로 진행하고, RC 빌드의 업로드 가능 상태는 Apple의 App Store Connect 업데이트 안내에서 다시 확인하세요.
매번 Xcode를 실행해 거래 경로를 재현해야 한다면 원격 Mac은 테스트 환경을 따로 확보하는 선택지가 될 수 있습니다. 서울 리전의 원격 Mac 구성 안내를 살펴보고, 팀의 접속 방식과 작업 환경에 맞는지 비교하세요. 현재 쓰는 개인용 컴퓨터는 개발과 테스트가 겹칠 때 리소스를 나눠 써야 하고, 장시간 실행 중인 작업을 유지하기 어렵고, 다른 팀원이 같은 환경을 재현하기 번거로울 수 있습니다. 반대로 Mac을 직접 마련하면 초기 하드웨어 비용과 유지 관리 부담이 생깁니다. 장기적으로 한 대를 상시 사용하고 물리 장치 연결이 중요하다면 직접 보유가 더 알맞을 수 있습니다. 테스트용 macOS 환경을 일정 기간 반복 사용하려는 경우에는 MacDate의 macOS 이용 요금 안내를 확인해 원격 사용이 작업 방식과 비용 조건에 맞는지 비교하세요. 로컬 StoreKit 테스트, 거래 처리 통과, 샌드박스 검증은 각각 다른 증거로 관리해야 합니다.