Saltare al contenuto principale
Capacitor

Preparazione a Capacitor 9: cosa possono fare gli squadre di App e Plugin adesso

Capacitor 9 innalza il baricentro su Node, Xcode, Android Gradle e API native obsolete. Ecco come prepararsi su Capacitor 8 prima di attivare la versione, incluso sincronizzazione Cordova facoltativa, CLI reload live e Capgo build di archiviazione OTA

Crediti dell'articolo

Martin Donadieu

Autore

Valeria

Revisione

Jordan

Editor

Preparazione a Capacitor 9: cosa possono fare gli squadre di App e Plugin adesso

Capacitor 9 è disponibile sul next dist-tag mentre si muove verso la disponibilità generale. Non è necessario aggiornare il tuo app il giorno in cui l'alpha viene rilasciato, ma il guida ufficiale di aggiornamento di Capacitor 9 e la guida di aggiornamento del plugin già elencano le piattaforme e le rimozioni di API che meritano di essere affrontate presto.

Questo articolo è una checklist di preparazione: lavoro che puoi fare su __CAPGO_KEEP_0__ 8 (o su una branch) per rendere l'eventuale checklist: work you can do on Capacitor 8 (or on a branch) so the eventual bunx cap migrate Piattaforme e livelli del toolchain (applicazioni)

Pianifica il tuo CI, le macchine locali e le pipeline di archiviazione in base a questi minimi:

__CAPGO_KEEP_0__ 9 è disponibile sul dist-tag mentre si muove verso la disponibilità generale. Non è necessario aggiornare il tuo app il giorno in cui l'alpha viene rilasciato, ma il

Area Requisito Capacitor 9
Node.js 24+ (la versione LTS più recente è raccomandata; npm 11 include Node 24)
Xcode 27+
Target di distribuzione iOS 16.0+
Android Studio 2026.1.1+
Plugin Gradle Android (AGP) 9.2.1
Wrapper Gradle 9.5.1

Se si è ancora su Capacitor 8.4 o precedenti per iOS, è necessario anche il Ciclo di vita di UIScene Lavorare dalla Capacitor 8.5 aggiornamento prima di Cap 9 — Xcode 27 lo richiede. Le app già su 8.5 possono saltare quel passo aggiuntivo.

On iOS, Swift 6 (con Xcode 27) rifiuta @UIApplicationMain; quando aggiorni, sostituiscilo con @main in AppDelegate.swift come descritto nella guida ufficiale.

Cordova al momento di sincronizzazione dell'app (non un passo di preparazione del plugin)

In Capacitor 9, il layer di compatibilità Cordova è connesso solo alla tua app quando cap sync rileva la presenza di un plugin Cordova installato. L'Android elimina i moduli Gradle aggiuntivi quando non sono presenti; iOS smette di aggiungere CapacitorCordova al file Podfile o Package.swift quando non sono presenti.

Questo è un livello di applicazione modifica del comportamento dopo l'aggiornamento. Mentre sei ancora su Cap 8, non è necessario rimuovere Cordova dal tuo template in anticipo. Esegui un audit per verificare se esistono importazioni native personalizzate __CAPGO_KEEP_0__ (tue o di un plugin derivato) che utilizzano simboli di Cordova senza un plugin Cordova effettivo nel progetto — quelle riferenze falliranno una volta applicata la connessione di Cordova opzionale. custom native code Android:

e AGP 9 di default gradle.properties L'assistente di aggiornamento di AGP scrive spesso flag espliciti per mantenere il comportamento di AGP 8. Gli app __CAPGO_KEEP_0__ 9 dovrebbero

eliminare gradle.properties flags so builds keep AGP 8 behavior. Capacitor 9 apps should disabilita il supporto Kotlin che AGP 9 fornisce, e ferma AGP dall'inferrere android.builtInKotlin=false iOS: android.sdk.defaultTargetSdkToCompileSdkIfUnset=false e Xcode 14 di default targetSdkVersion).

When ti migrerai, aspettati anche:

  • Bump variables.gradle aggiornamenti minimi (compilazione/obiettivo SDK 37, minSdkVersion 26, versioni aggiornate di AndroidX — vedi la documentazione ufficiale).
  • Elimina esplicitamente targetSdkVersion dal tuo progetto build.gradle così che AGP 9 possa inferirlo da compileSdkVersion.
  • Declara variables.gradle simboli in cima a app/build.gradle (Gradle 9.6 deprecato implicito ricerca dal progetto root).
  • Sostituisci nomi di file ProGuard predefiniti, migrati core-ktx a androidx.core:core 1.19.0+, abbandonare l'uso del plugin Gradle Kotlin standalone e eliminare jcenter().

Potete leggere le differenze in blocchi di hunks nel Aggiornamento a 9.0 Scheda Android e applicare le stesse pulizie su una branch prima di aumentare le versioni Capacitor.

CLI: cap run --url

Capacitor 9 unisce le flag per il live-reload host/port/https in un singolo --url Argomento. Invece di:

bunx cap run android -l --host 192.168.1.181 --port 5173

Passare l'URL che il tuo server di sviluppo stampa:

bunx cap run android --url http://192.168.1.181:5173/

Aggiornare i script e i frammenti README ora per evitare che la memoria muscolare si opponga al nuovo CLI dopo l'aggiornamento.

Plugin ufficiali: push e splash gotcha

Due cambiamenti visibili dagli utenti si verificano spesso nelle app di produzione:

Push Notifications (iOS): L'opzione di presentazione obsoleta è stata eliminata. Utilizza alert e/o banner in le opzioni di presentazione. list Schermo di avvio (Android):

Predefinito è cambiato da launchFadeOutDuration 200 ms a 0 . Se hai dipinto sulla nascita dei glitch di primo disegno, impostaloesplicitamente launchFadeOutDuration: 200 fino a quando non hai aggiustato la tua interfaccia utente di avvio. capacitor.config Scansiona le sezioni dei plugin in

L'opzione di presentazione obsoleta è stata eliminata. Utilizza Guida di aggiornamento 9.0 per gli aggiornamenti di AndroidX e Google Play Services legati ai plugin ufficiali che utilizzate.

Manutentori di plugin: preparatevi su Cap 8 senza rompere Cap 8

Se spedite plugin Capacitor consumati su Capacitor 8 e want Cap 9-ready code, focus on desiderate API pronte per Cap 9, concentratevi sula rimozione dei __CAPGO_KEEP_0__ obsoleti

, non sulle modifiche di packaging esclusive di Cap-9.

  • Sicuro da fare mentre Cap 8 rimane supportato: @NativePlugin Sostituire @CapacitorPlugin con @PermissionCallback / @ActivityCallback patterni (vedi il guida del plugin 9.0 tabella).
  • Elimina PluginCall.hasOption, Plugin.getConfigValue, costruttori e getter CapConfig , e altre rimozioni Java elencate sotto “Cambiamenti di rotta in __CAPGO_KEEP_0__.”, PluginCall.save() / isSaved(), and other Java removals listed under “Breaking changes in code.”
  • classe di compatibilità e gli aiuti deprecati; utilizza CAPBridge , accessori tipizzati CAPBridgeProtocol , e proprietà di ponte dalla tabella di migrazione. ApplicationDelegateProxyRimuovi PluginCall costruttori e getter, e altre rimozioni Java elencate sotto “Cambiamenti di rotta in __CAPGO_KEEP_0__.”
  • Esegui bunx @capacitor/plugin-migration-v8-to-v9@latest Esegui su una branch e conserva solo le modifiche API che ancora compilano con le dipendenze peer di Cap 8 fino a quando non pubblicherai una versione maggiore per Cap 9.

Non eliminare il Cordova prodotto SPM dal tuo plugin Package.swift mentre ancora supporti Capacitor 8. I progetti Cap 8 si aspettano quella dipendenza quando il tuo plugin è basato su SPM; eliminarla troppo presto rompe i consumatori ancora su 8. Tratta le opzioni Cordova / eliminare il prodotto Cordova come una __CAPGO_KEEP_0__ 9-only Capacitor 9-only La stessa regola del pollice si applica all'aumento

La stessa regola del pollice si applica all'aumento capacitor-swift-pm per 9.0.0-alpha.x in Package.swift: deve essere installato sul tuo Cap 9 maggiore, non su una versione compatibile con Cap-8.

Capgo aggiornamenti live e la costruzione di archiviazione nativa Cap 9

Capgo fornisce pacchetto web aggiornamenti via aria; la shell nativa proviene ancora da App Store e Google Play. Quando si sposta l'app su Capacitor 9:

  1. Invia almeno una costruzione di archiviazione compilato contro Capacitor 9 progetti nativi (iOS e Android). Quel binario stabilisce il baseline nativo Capgo canali mira.
  2. Solo dopo che quella costruzione è nelle mani degli utenti, si può contare sugli aggiornamenti via OTA testati contro il comportamento di WebView e plugin di Cap 9.
  3. Metti i canali di produzione su metadata strategia e caricare il bundle di Cap 9 corrispondente su ogni canale con --auto-min-update-version. Per tale upload di riferimento nativo intenzionale omissione --fail-on-incompatible (i pacchetti nativi sono supposti cambiare). Mantenere --fail-on-incompatible e --auto-min-update-version sui caricamenti OTA quotidiani successivi. Vedi Native + OTA canale di workflow.
  4. Mantieni regole di canale e semver allineate in modo che non invii mai un bundle che assume API di Cap 9 su dispositivi che ancora eseguono una shell nativa più vecchia.

Se utilizzi Capgo Build o il tuo CI personalizzato, aggiorna gli agenti prima di lavorare su una nuova feature. Prima di iniziare a lavorare su una nuova feature, menziona l'issue. la release del Cap 9 store in modo che il pipeline corrisponda a quanto gli utenti installano: macOS i runner devono avere Node 24+ e Xcode 27+; Linux i runner devono avere Node 24+ e strumentazione host Android allineata con AGP 9.2.1 / Gradle 9.5.1 (Xcode è disponibile solo su macOS).

Ordine di operazioni consigliato

  1. Aggiornare le strumentazioni installate su i host CI e le macchine dei developer ai livelli sopra (Node, Xcode, Android Studio, JDK). Non aggiorna la dipendenza AGP dell'app Cap 8, il wrapper Gradle o altri file del progetto Android ai valori di Cap 9 fino a bunx cap migrate — questi cambiamenti di progetto appartengono allo step di migrazione.
  2. Risolve le API native obsolete nel'app code e nei plugin (soprattutto personalizzati) AppDelegate gestione delle URL e l'uso del ponte Android).
  3. Pulisci i file e i script Gradle Android (gradle.propertiesimpostazioni di default ProGuard --url nei script di sviluppo).
  4. Audit l'uso di Cordova a livello di app; non modificare i prodotti SPM Cordova dei plugin fino alle rilasci di Cap 9 esclusivi. Quando Cap 9 sarà GA (o quando accetti
  5. la versione next), esegui bun add -d @capacitor/cli@next (o @latest dopo la rilascio), quindi bunx cap migrate, e segui Aggiornamento a 9.0.
  6. Pubblica la build nativa di Cap 9 to stores, then resume or expand Capgo OTA rollouts on the matching channel.

La versione 9 di Capacitor è principalmente “pagare le deprecate e allinearsi con le moderne catene di tool per Android e Apple.” Eseguendo quel lavoro su Cap 8, mantieni la differenza di upgrade piccola e i plugin compatibili con i team che stanno ancora rilasciando 8.x oggi.

Aggiornamenti in tempo reale per le Capacitor app

When a bug nel layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Sostegno umano da Martin

Inizia subito

Ultimi articoli dal nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile davvero professionale.