본문으로 이동
Capacitor

Capacitor 9: 앱 및 플러그인 팀이 지금 할 수 있는 것

Capacitor 9은 Node, Xcode, Android Gradle 및 deprecated native API를 높인다. Capacitor 8에서 Cordova 옵션 동기화, CLI live reload 및 Capgo OTA 스토어 빌드를 위해 준비하는 방법을 설명한다.

작성 기사

마틴 도나디유

작가

발레리아

리뷰어

조던

편집자

Preparing for Capacitor 9: What App and Plugin Teams Can Do Now

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 버전을 업데이트하십시오 — 공식 문서를 참조하십시오). minSdkVersion explicit를 명시적으로 제거해야 합니다.
  • 앱에서 explicit를 제거해야 합니다. targetSdkVersion AGP 9가 symbol을 추론할 수 있도록 합니다. build.gradle symbol을 선언해야 합니다. 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:core 1.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 으로 @CapacitorPlugin legacy 권한 / 활동 결과 API를 패턴 (see the @PermissionCallback / @ActivityCallback plugin 9.0 가이드 표)으로 마이그레이션하세요. 제거
  • , 옛 PluginCall.hasOption, Plugin.getConfigValue생성자 및 getter CapConfig , 그리고 다른 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@latest on 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로 이동할 때:

  1. Ship 최소한 하나의 스토어 빌드 Capacitor 9으로 컴파일된 iOS 및 Android 네이티브 프로젝트 9개가 있습니다. 이 바이너리는 네이티브 기본 Capgo 채널을 설정합니다.
  2. 사용자가 사용할 수 있는 빌드가 완료된 후에만 Cap 9 WebView 및 플러그인 동작을 테스트한 OTA 배포본에 의존해야 합니다.
  3. 생산 채널을 metadata 전략에 두고 Cap 9 버전의 매칭 배포본을 각 채널에 업로드하세요. --auto-min-update-version그리고 생성하지 마십시오. --fail-on-incompatible 변경되지 않아야 합니다. --fail-on-incompatible 그리고 --auto-min-update-version 일상적인 OTA 업로드에 대해. 자세한 내용은 Native + OTA 채널 워크플로우를 참조하세요..
  4. 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 대비 준비

  1. 업그레이드 설치된 도구 CI 호스트와 개발자 머신에 (Node, Xcode, Android Studio, JDK) 에서 위의 버전으로 업그레이드 하세요. 하지 마세요 Cap 8 앱의 AGP 의존성, Gradle wrapper, 또는 다른 Android 프로젝트 파일을 Cap 9 값으로 업그레이드 하지 마세요. bunx cap migrate 이 프로젝트 변경은 마이그레이션 단계에 속합니다.
  2. deprecated native API app code와 플러그인 (특히 사용자 정의) AppDelegate Android Gradle
  3. 파일 및 스크립트 (, ProGuard 기본값, 개발 스크립트)에서 deprecated native API를 고치세요. Android Gradlegradle.properties파일 및 스크립트 (, ProGuard 기본값, 개발 스크립트)에서 deprecated native API를 고치세요. --url Android Gradle
  4. Cordova 검사 앱 수준에서 사용하십시오; Cap 9 전용 릴리스까지 Cordova 제품의 플러그인 SPM을 변경하지 마십시오.
  5. Cap 9이 GA (또는 Cap 9을 수락한 경우)일 때, next (또는 bun add -d @capacitor/cli@next context @latest Cap 9이 출시되거나 수락한 경우, bunx cap migratecontext Cap 9이 출시되거나 수락한 경우, .
  6. 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.

Capacitor 앱에 대한 즉시 업데이트

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

__CAPGO_KEEP_0__를 통해 웹层 버그가 라이브일 때修정을 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 말고. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로에 남겨둡니다.

컨텍스트: Capgo 마케팅 웹사이트. 역할: 지원 설명문 또는 메타 설명문. 보는 곳: 컴포넌트 GetStarted.astro. Capgo 제품/브랜드 및 개발자 용어를 정확히 유지하세요. 메시지 키 `instant_updates_for_capacitor_apps_description` (Capacitor 앱에 대한 즉시 업데이트 설명).

마틴의 인간 지원

Capgo은 전문적인 모바일 앱을 만들기 위해 꼭 필요한 모든 통찰력을 제공합니다.