Capacitor 9은 dist-tag에 sẵn하며 일반 사용 가능성에 다가가고 있습니다. 앱을 업그레이드할 필요는 없지만, 공식 Capacitor 9 업데이트 가이드와 플러그인 업데이트 가이드는 이미 Capacitor 8(또는 branch)에서 수행할 수 있는 작업을 설명하고 있습니다. next 이 기사는 __CAPGO_KEEP_0__ 8(또는 branch)에서 수행할 수 있는 작업을 설명하는 준비 체크리스트입니다. official Capacitor 9 update guide 체크리스트 이 기사는 __CAPGO_KEEP_0__ 8(또는 branch)에서 수행할 수 있는 작업을 설명하는 준비 체크리스트입니다. 툴체인 플로어와 API 제거에 대한 초기에 다루어야 할 가치 있는 항목들을 이미 설명했습니다.
준비 체크리스트 이 기사는 Capacitor 8(또는 branch)에서 수행할 수 있는 작업을 설명하는 준비 체크리스트입니다. bunx cap migrate 지루한 대신 고통스러운 패스 대신 준비가 되면 위의 라인별로 Ionic의 지침을 따르세요.
도구chain 및 플랫폼 floor (앱)
CI, 로컬 머신 및 스토어 pipe라인을 다음 최소값에 맞춰 계획하세요:
| 영역 | Capacitor 9 요건 |
|---|---|
| Node.js | 24+ 최신 LTS 버전을 권장합니다. npm 11은 Node 24과 함께 제공됩니다. |
| Xcode | 27+ |
| Xcode | 16.0+ |
| iOS 배포 대상 | 2026.1.1+ |
| Android Studio | 9.2.1 |
| Android Gradle 플러그인 (AGP) | 9.5.1 |
iOS 8.4 이전에 Capacitor에 남아 있다면 iOS 9 이상의 Capacitor도 필요합니다. iOS에서 __CAPGO_KEEP_0__ lifecycle Capacitor 8.5 업데이트에서 Capacitor lifecycle을 사용하도록 설정해야 합니다.
iOS에서 Swift 6 (Xcode 27)에서는 __CAPGO_KEEP_0__를 사용할 수 없습니다. @UIApplicationMain업그레이드 후 __CAPGO_KEEP_0__를 __CAPGO_KEEP_0__로 대체하십시오. @main in AppDelegate.swift Cordova 앱 동기화 시간 (플러그인 준비 단계가 아닙니다)
__CAPGO_KEEP_0__ 9에서 Cordova 호환성 레이어는 Cordova 플러그인을 설치했을 때만 앱에 연결됩니다.
Cordova 플러그인이 설치되어 있으면 Capacitor가 플러그인을 감지할 수 있습니다. Android에서는 Gradle 모듈을 삭제합니다. iOS에서는 플러그인이 없으면 더 이상 추가하지 않습니다. cap sync __CAPGO_KEEP_0__ lifecycleCordova 호환성 레이어 CapacitorCordova Capacitor 9을 위한 준비 Package.swift Podfile 또는
이것은 앱 수준 업그레이드 후 변경 사항입니다. Cap 8에서 아직 업그레이드되지 않은 경우, 템플릿에서 Cordova를 미리 제거할 필요가 없습니다. Cordova Symbol이 실제 Cordova 플러그인이 없는 프로젝트에 사용되는 경우, 옵션 Cordova 연결이 적용되면 참조가 실패할 것입니다. Cordova Symbol을 사용하는 커스텀 네이티브 code Android:
AGP 9 기본값 gradle.properties AGP 업그레이드 어시스턴트는 명시적인
flag을 작성하여 AGP 8 동작을 유지합니다. __CAPGO_KEEP_0__ 9 앱은 gradle.properties flags로 빌드하면 AGP 8 동작을 유지합니다. Capacitor 9 앱은 remove Capacitor 9을 위한 준비 android.builtInKotlin=false 대부분은 AGP 10 이전에 deprecated되었으며, 일부는 Cap 9 빌드에 문제를 일으킵니다 (예를 들어) android.sdk.defaultTargetSdkToCompileSdkIfUnset=false Kotlin 지원을 비활성화하여 AGP 9가 제공하는 것을 막고 targetSdkVersion).
AGP가 symbol을 추론하지 못하게 막습니다.
- Bump
variables.gradle버전을 올려야 합니다 (compile/target SDK 37, 26, AndroidX 버전을 업데이트하십시오 — 공식 문서를 참조하십시오).minSdkVersionexplicit를 명시적으로 제거해야 합니다. - 앱에서 explicit를 제거해야 합니다.
targetSdkVersionAGP 9가 symbol을 추론할 수 있도록 합니다.build.gradlesymbol을 선언해야 합니다.compileSdkVersion. - Declare
variables.gradle버전을 올려야 합니다 (compile/target __CAPGO_KEEP_0__ 37, 26, AndroidX 버전을 업데이트하십시오 — 공식 문서를 참조하십시오).app/build.gradle(Gradle 9.6은 root 프로젝트에서 암시적 조회를 deprecated합니다.) - Swap default ProGuard 파일 이름을 바꾸고
core-ktx로androidx.core:core1.19.0+, 독립된 Kotlin Gradle 플러그인 사용을 중단하고jcenter().
diff hunks를 읽을 수 있습니다. 9.0으로 업데이트하는 Capacitor:
CLI: cap run --url
Capacitor 9은 live-reload host/port/https 플래그를 하나의 플래그로 통합합니다. --url 업그레이드 후 새로운 __CAPGO_KEEP_0__과 맞지 않는 새로운 습관을 피하기 위해 스크립트와 README Snippets를 업데이트하십시오.
bunx cap run android -l --host 192.168.1.181 --port 5173
개발 서버가 출력한 URL을 입력하세요
bunx cap run android --url http://192.168.1.181:5173/
CLI 버전을 업그레이드하기 전에 branch에서 동일한 정리 작업을 적용하고
공식 플러그인: 푸시 및 스플래시의 함정
제작 앱에서 자주 나타나는 두 가지 사용자 인터페이스 변경 사항:
푸시 알림 (iOS): 사용되지 않는 alert 표시 옵션을 제거했습니다. 표시 옵션에 banner 또는 list 사용하세요.
스플래시 화면 (Android): 기본 launchFadeOutDuration 200 ms에서 0으로 변경되었습니다. 첫 번째 화면의 글리치를 숨기기 위해 페이드가 의존하는 경우 설정하세요.Capacitor 9를 준비하는 경우에, 첫 번째 화면 로딩 지연을 숨기기 위해 fade 효과를 사용했다면 launchFadeOutDuration: 200 명시적으로 capacitor.config 시작 UI를 조정할 때까지
Capacitor 9.0 업데이트 가이드 안드로이드X 및 Google Play Services 버전 업데이트를 위한 공식 플러그인에 대한 플러그인 유지보수자: Cap 8에서 Cap 8를 깨지지 않으면서 Cap 8에
Cap 9 준비가 된 __CAPGO_KEEP_0__을 원한다면,
만약에 Capacitor 플러그인을 Capacitor 8에서 사용한다면 and Capacitor 9 준비를 위한 code에 집중하세요. deprecated API 제거Cap-9에 대한 단일 패키징 변경이 아닌 것입니다.
Cap 8이 지원되는 동안 안전하게 수행할 수 있습니다.
- 수정
@NativePlugin으로@CapacitorPluginlegacy 권한 / 활동 결과 API를 패턴 (see the@PermissionCallback/@ActivityCallbackplugin 9.0 가이드 표)으로 마이그레이션하세요. 제거 - , 옛
PluginCall.hasOption,Plugin.getConfigValue생성자 및 getterCapConfig, 그리고 다른 Java 제거 목록에 나열된 "__CAPGO_KEEP_0__"의 "Breaking changes" 섹션에서.,PluginCall.save()/isSaved(), and other Java removals listed under “Breaking changes in code.” - API
CAPBridge패턴CAPBridgeProtocol도우미; 사용ApplicationDelegateProxy, 입력PluginCall이동 표의 접근자 및 브리지를 제거합니다. - 실행
bunx @capacitor/plugin-migration-v8-to-v9@lateston a branch and keep only the API edits that still compile against Cap 8 peer dependencies until you publish a major for Cap 9.
Live Update Cordova Cloudflare Package.swift Capacitor 8을 아직 지원합니다. GitHub Capgo Cordova code API Capacitor 9-버전 전용 Capacitor 9만 지원하는 릴리스 라인 (또는 Cap 9 이상으로 명시된 semver 메이저로 문서화된 릴리스 라인)으로, Cap 8을 지원하는 릴리스 라인에서 지원을 중단한 후 — 플러그인 가이드에서 설명한 대로, Cap 8 라인에 대한 예비 작업이 아닌.
업데이트 규칙도 마찬가지로 적용됩니다. capacitor-swift-pm to 9.0.0-alpha.x in Package.swift:
Capgo 라이브 업데이트 및 네이티브 Cap 9 스토어 빌드
Capgo 제공합니다 웹 번들 업데이트는 공유되지 않으며, 네이티브 셸은 여전히 앱 스토어와 구글 플레이에서 제공됩니다. 앱을 Capacitor 9로 이동할 때:
- Ship 최소한 하나의 스토어 빌드 Capacitor 9으로 컴파일된 iOS 및 Android 네이티브 프로젝트 9개가 있습니다. 이 바이너리는 네이티브 기본 Capgo 채널을 설정합니다.
- 사용자가 사용할 수 있는 빌드가 완료된 후에만 Cap 9 WebView 및 플러그인 동작을 테스트한 OTA 배포본에 의존해야 합니다.
- 생산 채널을
metadata전략에 두고 Cap 9 버전의 매칭 배포본을 각 채널에 업로드하세요.--auto-min-update-version그리고 생성하지 마십시오.--fail-on-incompatible변경되지 않아야 합니다.--fail-on-incompatible그리고--auto-min-update-version일상적인 OTA 업로드에 대해. 자세한 내용은 Native + OTA 채널 워크플로우를 참조하세요.. - Cap 9 API를 아직 이전 네이티브 셸을 실행하는 기기에 의존하지 않도록 하기 위해, 채널과 semver 규칙을 항상 일치시키세요.
Capacitor 9를 사용한다면 Capgo 빌드 자체 CI 또는 리프레시 에이전트 이전 Capacitor 9 스토어 릴리스를 위해 pipe라인이 사용자 설치하는 것과 일치하도록 하세요. 맥OS 런너는 Node 24+와 함께 필요하며 Xcode 27+; 리눅스 런너는 Node 24+와 호스트 안드로이드 도구를 AGP 9.2.1 / Gradle 9.5.1와 일치하도록 해야합니다. (Xcode는 맥OS 전용입니다). 작업 순서의 제안
Capacitor 9 대비 준비
- 업그레이드 설치된 도구 CI 호스트와 개발자 머신에 (Node, Xcode, Android Studio, JDK) 에서 위의 버전으로 업그레이드 하세요. 하지 마세요 Cap 8 앱의 AGP 의존성, Gradle wrapper, 또는 다른 Android 프로젝트 파일을 Cap 9 값으로 업그레이드 하지 마세요.
bunx cap migrate이 프로젝트 변경은 마이그레이션 단계에 속합니다. - deprecated native API app code와 플러그인 (특히 사용자 정의)
AppDelegateAndroid Gradle - 파일 및 스크립트 (, ProGuard 기본값, 개발 스크립트)에서 deprecated native API를 고치세요. Android Gradle
gradle.properties파일 및 스크립트 (, ProGuard 기본값, 개발 스크립트)에서 deprecated native API를 고치세요.--urlAndroid Gradle - Cordova 검사 앱 수준에서 사용하십시오; Cap 9 전용 릴리스까지 Cordova 제품의 플러그인 SPM을 변경하지 마십시오.
- Cap 9이 GA (또는 Cap 9을 수락한 경우)일 때,
next(또는bun add -d @capacitor/cli@nextcontext@latestCap 9이 출시되거나 수락한 경우,bunx cap migratecontext Cap 9이 출시되거나 수락한 경우, . - context stores에 저장한 후, 해당 채널에 맞는 Capgo OTA 업데이트를 재개하거나 확장합니다.
Capacitor 9 is mostly “pay down deprecations and align with modern Android and Apple toolchains.” Doing that work on Cap 8 keeps your upgrade diff small and your plugins compatible with the teams still shipping 8.x today.