iOS 앱을 테스터에게 배포하려면 TestFlight (내부 테스터에게 즉시, 외부 테스터에게는 짧은 Beta App Review 후) 또는 등록된 기기에 대한 ad hoc 빌드를 사용하거나, Android에서는 Google Play 테스트 트랙 (내부, 폐쇄 또는 공개), Play 내부 앱 공유 (일회성 링크), Firebase App Distribution 또는 직접 다운로드를 통해 signed APK를 공유하십시오. 올바른 방법은 테스터가 누구인지, 얼마나 많은 테스터가 있는지, 빌드가 스토어 인프라를 통과해야 하는지에 따라 달라집니다.
이 안내서에서는 모든 옵션을 비교하고 Capacitor 앱을 설정하는 방법을 보여주며, 테스터가 일반적으로 발생하는 오류 목록을 제공합니다.
선택
| 방법 | 플랫폼 | 테스터 수 | 테스터가 받기 전에 리뷰 | 테스터가 필요 | 최고로 적합한 |
|---|---|---|---|---|---|
| TestFlight 내부 | iOS | 100명 팀원 | 아니오 | App Store Connect 사용자, TestFlight 앱 | 팀 |
| iOS 및 Android 앱을 테스터에게 배포하는 방법 | iOS | 10,000 | 버전의 첫 번째 빌드인 베타 앱 리뷰 | 이메일 초대 또는 공개 링크, TestFlight 앱 | 베타 사용자, 고객 |
| Ad hoc | iOS | 1년에 1개 기종당 100대의 기기 | 아니요 | 등록된 UDID, 개발자 모드 | 작은 QA 팀, 애플 리뷰 없음 |
| 내부 테스트 | 안드로이드 | 100 | 전체적인 검토 없이, 몇 분 내에 사용할 수 있습니다. | 이메일 목록에 있는 구글 계정 | __CAPGO_KEEP_0__ |
| 클로즈드 테스트 | 안드로이드 | 이메일 목록 또는 구글 그룹 | 네 | 구글 계정, 옵인 링크 | 베타 사용자, 12명 테스터 요구 사항 |
| 오픈 테스트 | 안드로이드 | 무제한 또는 제한 | Yes | 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. | 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. | 리스트에 포함된 옵션 |
| 공개 베타 | 내부 앱 공유 | 안드로이드 | 링크를 가진 사람 | No | Quick QA builds, any version code |
| 빠른 QA 빌드, 버전 __CAPGO_KEEP_0__ | 파이어베이스 앱 배포 | 대형 | 아니오 | 이메일 초대; iOS는 등록된 UDID가 필요합니다. | 플랫폼 간 QA |
| 직접 APK 링크 | 안드로이드 | 누구든지 | 아니오 | 미지의 출처를 허용하십시오 | 빠른 내부 테스트 |
참고 지침:
- 스토어에 배포할 건물과 동일한 건물인지 확인하십시오? TestFlight와 Play 트랙을 사용하세요. 테스트를 위해 승격되는 바이너리가 사용하는 바이너리입니다.
- 일일 QA 빌드? 두 개의 스토어에서 내부 테스트, 또는 Firebase App Distribution.
- 분 단위로 웹层 변경을 테스트해야 하는 경우? 테스트 채널에 live update를 배포하는 대신 새로운 바이너리를 배포하지 마세요.
배포하기 전에: 서명
모든 테스트 빌드는 서명되어야 합니다.
- iOS 테스트 빌드는 TestFlight의 경우 App Store Connect 프로파일 또는 Ad Hoc를 사용합니다. 애플 스토어 연결 profile (TestFlight) 또는 Ad Hoc Ad Hoc 프로필 (직접 설치). 두 경우 모두 Apple Distribution 인증서를 사용합니다. iOS 인증서 및 배포 프로파일에 대해 설명합니다..
- Android Play 트랙의 빌드는 업로드 키로 서명된 AAB입니다. 직접 설치를 위해는 릴리스 키로 서명된 APK가 필요합니다. 디버그 APK도 설치되지만, 디버그 모드가 활성화되어 있으며 다른 서명으로 서명되어 Play 빌드로 업로드할 수 없습니다.
iOS: 테스트 플라이트
빌드를 업로드하세요.
Xcode에서: Product > Archive, 그리고 Distribute App > App Store Connect > 업로드CI에서 명령 줄을 통해 앱을 배포하세요. .ipa 애플 스토어 연결 API 키를 사용하여 업로드하거나, 클라우드 빌드 서비스를 사용하여 자동으로 업로드할 수 있습니다.
2026년 4월부터 업로드는 Xcode 26 이상으로 빌드해야 합니다.
이 키를 추가하세요. ios/App/App/Info.plist HTTPS 표준 암호화만 사용하는 경우 앱 스토어 연결에서 매 빌드마다 수출 준수 질문을 묻지 않도록 하세요:
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
처리 시간은 몇 분에서 1시간 정도 걸립니다. 빌드가 준비되면 이메일을 받습니다.
내부 테스트
- 앱 스토어 연결에서 앱을 열고 테스트 플라이트 > 내부 테스트, 그룹을 생성하세요.
- 팀원들을 추가하세요. 그들은 앱 스토어 연결 역할(관리자, 앱 매니저, 개발자, 마케팅…)을 가지고 있어야 합니다. 최대 100명.
- 자동 배포를 활성화하세요. 매 빌드가 그룹으로 자동 배포되도록 하세요. 자동 배포
- 테스터는 TestFlight 앱을 App Store에서 다운로드하고 초대장을 수락합니다.
리뷰가 필요하지 않습니다. 업로드부터 전화까지 가장 빠른 경로입니다.
외부 테스트
- TestFlight > 외부 테스트 > + 그룹을 만들기 위해
- 이메일로 테스터를 추가하거나 공개 링크를 활성화하고 테스터 수를 제한할 수 있습니다.
- 빌드를 그룹에 추가하고 테스트 정보를 입력합니다. iOS 및 Android 앱을 테스터에게 배포하는 방법
- 제출하기 Beta 앱 검토Beta 앱 검토
외부 테스트는 10,000 명의 테스터까지 지원합니다. 테스터는 TestFlight에서 직접 피드백을 보내는 스크린샷을 보낼 수 있으며, 이는 App Store Connect에서 확인할 수 있습니다.
TestFlight에 대한 제한 사항
- 빌드는 90일 후에 만료됩니다. 90일.
- iOS 버전을 지원하는 빌드(Capacitor 8은 iOS 15 이상을 필요로 함)
- production APNs 환경 Live Update
- iOS 앱을 테스터에게 배포하는 방법
iOS: ad hoc 배포
ad hoc 빌드는 Apple Developer Portal에 등록한 기기에서 직접 설치되며, TestFlight 또는 Apple 검토 없이 작동합니다.
- 테스터의 각 UDID를 수집하세요. 테스터는 자신의 휴대폰에서 UDID를 찾을 수 있습니다. iOS UDID 찾기또는 Finder 또는 Xcode에서 기기를 연결하여 UDID를 읽을 수 있습니다.
- Certificates, Identifiers & Profiles > Devices 등록된 기기.
- 애플리케이션을 iOS 빌드 iOS 빌드는 ad hoc 배포를 위해 사용됩니다.
- iOS 빌드
.ipaiOS 및 Android 앱을 테스터에게 배포하는 방법 프로파일 (Xcode:)배포 앱 > 릴리스 테스트 - 배포 앱 > 릴리스 테스트
- Drag&Drop
.ipa설치: 드래그. - Finder 또는
itms-servicesXcode > 창 > 장치 및 시뮬레이터
- Drag&Drop
- iOS 16 이상부터는 Capgo Live Update를 사용하여 앱을 설치할 수 있습니다.
.ipaiOS 16 이상에서 Mac (Xcode 또는 Apple Configurator)에서 개발자 모드 장치 (설정 > 개인 정보 보호 및 보안)에서.itms-services링크로 설치하는 경우 필요하지 않습니다. iOS에서 개발자 모드를 활성화하는 방법을 참조하십시오..
새로운 테스터를 추가하려면 UDID를 등록하고 프로파일을 재생성하고 다시 빌드해야 합니다. 장치 슬롯 (100 장치 패밀리당)은 회원 연도가 다시 시작될 때만 초기화되므로 장치 슬롯을 임의로 등록하지 마십시오.
안드로이드: Google Play 테스트 트랙
Play Console에는 세 가지 테스트 트랙과 생산 트랙이 있습니다. 모든 트랙은 업로드 키로 서명된 AAB가 필요합니다.
내부 테스트
- 테스트 > 내부 테스트 > 테스터: 이메일 목록을 생성할 수 있습니다 (최대 100 개의 주소).
- 새 릴리스 만들기, AAB를 업로드하고 릴리스 노트를 추가하고 저장하고 배포합니다.
- 링크 복사 opt-in 링크 테스터에게 전송하고, 그들은 Play Store에서 설치합니다.
내부 릴리스는 일반적으로 몇 분 안에 사용할 수 있으며, 완전한 검토를 기다리지 않습니다. 새로운 앱의 첫 번째 릴리스는 Google이 앱을 처리하는 동안 더 오래 걸릴 수 있습니다.
폐쇄 테스트
Closed tracks는 검토되고 지원 이메일 목록 또는 Google Groups에서 관리됩니다. 이 트랙은 앱 테스터에게 iOS 및 Android 앱을 배포하는 데 필요한 것입니다. 애플과 구글 플레이 개발자 계정 만들기 공개 테스트 애플 개발자 계정과 구글 플레이 개발자 계정을 만들기.
우리
안드로이드 베타 테스트 가이드
opt-in link and send it to testers. They accept and install from the Play Store. iOS와 Android 앱을 테스터에게 배포하는 방법
Android: 내부 앱 공유
내부 앱 공유는 Play Store를 통해 APK 또는 AAB를 장치에 설치하는 가장 빠른 방법입니다. 버전 code 규칙과 검토 없이도 가능합니다.
- Play Console에서 열어 내부 앱 공유 (테스트) 하위 항목에서 업로드자 추가
- APK 또는 AAB 업로드합니다. 링크가 생성됩니다.
- 테스터는 Play Store 앱을 열고 설정을 열어 Play Store 버전 7번 클릭하여 개발자 설정을 활성화하고 내부 앱 공유.
- 테스터는 링크를 열고 설치합니다.
QA 테스트를 위해 pull request 빌드에 유용합니다. 버전 코드를 증가시키지 않아도 됩니다.
Android: 직접 APK 및 Firebase App Distribution
직접 APK
signed release APK를 빌드하세요. 새로운 Capacitor 프로젝트는 release 인증 설정이 없기 때문에 assembleRelease unsigned APK를 생성하여 설치할 수 없습니다. 인증 설정 블록(keystore 경로 및 암호, 일반적으로 signingConfigs.release 에서 읽습니다)을 key.properties첫 번째로 android/app/build.gradle 설정하세요. buildTypes.release.signingConfig 링크를 공유하세요. 테스터는 브라우저 또는 파일 관리자를 통해 불명확한 앱을 설치하고 파일을 열 수 있습니다. 이미 플레이 스토어 버전이 설치되어 있다면, 서명이 다르기 때문에 제거해야 합니다. USB를 통해도 설치할 수 있습니다.
bun run build
bunx cap sync android
cd android && ./gradlew assembleRelease
Share android/app/build/outputs/apk/release/app-release.apk through a link. adb install -r app-release.apk (see Android 기기에서 개발자 옵션을 활성화하는 방법을 참조하십시오.).
2026년 9월 30일부터, 브라질, 인도네시아, 싱가포르 및 태국에서만 인증된 Android 기기에서, 개발자 인증을 받은 개발자가 등록한 패키지 이름만 설치할 수 있습니다. 2027년 전 세계로 확대될 예정입니다. 테스터가 이 국가에 거주하는 경우, Android 개발자 콘솔 또는 Play 콘솔에서 패키지 이름을 등록하세요. adb 이것은 영향을 미치지 않습니다.
파이어베이스 앱 배포
파이어베이스 앱 배포는 양쪽 플랫폼을 지원하며 이메일 초대와 설치 트래킹을 제공합니다.
bun add -g firebase-tools
firebase login
firebase appdistribution:distribute android/app/build/outputs/apk/release/app-release.apk \
--app 1:1234567890:android:abc123def456 \
--groups "qa-team" \
--release-notes "Fix checkout crash"
- Android 테스터는 이메일 링크 또는 앱 테스터 앱에서 설치할 수 있습니다.
- iOS 테스터는 여전히 ad hoc (또는 개발) 프로파일에 있어야 합니다. 파이어베이스 앱 배포는 초대 수락 시 테스터의 UDID를 수집하지만, 그들을 등록하고 다시 빌드해야 합니다.
- AAB 배포는 파이어베이스 프로젝트를 Google Play와 연결해야 합니다.
테스터에게 링크를 제공하는 클라우드 빌드
CI 러너마다 Mac을 유지하고 서명하는 것을 유지하고 싶지 않다면 Capgo 빌드 클라우드에서 Capacitor 앱을 빌드합니다. 테스트 빌드의 경우 스토어 제출을 생략하고 시간 제한된 다운로드 링크에 바이너리를 업로드할 수 있습니다. QR 코드 code:
# Android APK/AAB for testers, no Play upload
bunx @capgo/cli@latest build request com.example.app \
--platform android --no-playstore-upload --output-upload --output-retention 2d
# iOS ad hoc build (no App Store submission)
bunx @capgo/cli@latest build request com.example.app \
--platform ios --ios-distribution ad_hoc --output-upload
# iOS build uploaded to TestFlight for external groups
bunx @capgo/cli@latest build request com.example.app \
--platform ios --ios-testflight-groups "Beta Testers"
Add --output-record build.json __CAPGO_KEEP_0__ 빌드 문서 bunx @capgo/cli@latest build last-output --path build.json --field outputUrl CI에서 링크를 읽고 Capgo 웹 변경 사항을 건너뛰세요
웹层에서 대부분의 변경 사항이 __CAPGO_KEEP_0__ 앱에 있습니다. 텍스트 수정을 위해 바이너리를 재빌드하고 다시 배포하는 것은 테스트 플라이트 처리 및 검토에 하루를浪費합니다. __CAPGO_KEEP_0__ 라이브 업데이트와 함께
Capacitor Capgo 라이브 업데이트각 Pull Request에 독립된 채널을 제공하고 QA가 동일한 설치된 앱에서 Switch할 수 있습니다. See
bunx @capgo/cli@latest bundle upload --channel beta
Pull Request를 설치 가능한 프리뷰로 전환하세요 __CAPGO_KEEP_0__.
문제 해결
iOS ad hoc에서 "설치할 수 없음" 디바이스 UDID가 프로파일에 포함되지 않았거나 프로파일이 만료되었습니다. security cms -D -i profile.mobileprovision.
iOS에서 앱이 열리고 즉시 닫힙니다. 개발자 모드가 꺼져 있습니다 (ad hoc/개발용 빌드) 또는 프로파일이 만료되었습니다.
테스트 플라이트 빌드가 "처리 중"에 걸립니다. 1시간 이내에 기다려보세요. 실패 시 이메일에는 이유가 포함되어 있으며, 일반적으로 사용 설명 문자열이 누락되거나 아이콘 문제가 있습니다.NSCameraUsageDescription 테스트 플라이트 "준수 미흡"
애플 스토어 커넥트에서 수출 준수 질문에 답변하거나 아이콘을 추가하세요. Live Update ITSAppUsesNonExemptEncryption to Info.plist.
to 다른 서명이 있는 버전이 이미 설치되어 있거나 APK가 서명되지 않았거나 손상되어 있습니다. 기존 앱을 제거하십시오.
테스터가 옵트인 후 Play 스토어에서 앱을 볼 수 없습니다. 몇 분 동안 기다리십시오. 그들이 초대된 계정으로 로그인되어 있는지 확인하고 릴리스가 트랙에 배포되어 있고 그들의 국가가 사용 가능하도록 확인하십시오.
업로드 시 “code 버전이 이미 사용 중입니다.”라는 메시지가 나타납니다. 업데이트 versionCode 내 android/app/build.gradleInternal 앱 공유는 예외입니다.
테스트 플라이트에서 푸시 알림이 도착하지 않습니다. 테스트 플라이트는 프로덕션 APNs 환경을 사용합니다. aps-environment 권한과 푸시 제공자의 환경 설정을 확인하십시오.
작은 팀의 권장 설정
- 테스트 플라이트 내부 그룹에 자동 배포를 사용하고 Play 내부 테스트 트랙을 사용하여 매 병합마다
main. - iOS와 Android 앱을 테스터에게 배포하는 방법
- Live Update
beta웹 전용 수정 사항을 위한 채널 - 베타 버전이 안정되면, 두 개의 스토어에서 동일한 빌드를 프로모션하고 첫 번째 앱 리뷰 가이드를 따르세요 기사 저자.