Wenn eine Hauptversion freigegeben wird
Die Versionsverwaltung kann schwierig zu handhaben sein, normalerweise möchten Sie eine Hauptaktualisierung senden, wenn ein großer Änderungsbedarf für die Benutzer erscheint.
Aber die Versionsverwaltung ist nicht dafür gemacht, die App-Store-Version ist anders als die Native-Version.
Die Native-Version ist dafür gemacht, umbruchartige Änderungen im code
In IOS zum Beispiel ist iOS 16 die store version von Apple, aber die code Version ist 20A5283p (sie scheinen dort SemVer nicht zu verwenden)
Jetzt ist es klar, dass wir sie nicht vermischen und sie für das verwenden, wofür sie gemacht sind!
Hauptveröffentlichung
In Ihrer Capacitor-App ist eine Hauptveröffentlichung erforderlich, wenn ein bruchartiger Änderungsbedarf auftritt. Beispiel: Ein neuer IOS-Ziel (15 zu 16), oder eine neue Version von Capacitor (3 zu 4), oder ein Plugin (1.2 zu 2.0), das Sie verwenden, wurde auf eine Hauptversion aktualisiert.
Diese Änderung bedeutet, dass alle Werkzeuge auf die bruchartige Änderung abgestimmt werden müssen.
Das ist der Grund, warum Capgo sich an dieses System hält.
Daher wird Capgo keine Major-Version an einen Benutzer gesendet, der sie nicht installiert hat, indem er sie aus dem Store heruntergeladen hat.
Dieses Verhalten kann angepasst werden. Sie können mehr darüber erfahren hier
Versionen
Wo Capgo die Version findet, um sie zu vergleichen
iOS
Wird von Capgo verwendet, um die JavaScript-Version zu vergleichen und eine Major-Upgrade zu finden
In iOS wird die Variable auf Ihrem Projekt hier gesetzt ios/App/App/Info.plist unter der SchlüsselCFBundleShortVersionString oder ios/App/App.xcodeproj/project.pbxproj unter der Schlüssel MARKETING_VERSION wenn MARKETING_VERSION in Ihrem Info.plist Datei.
Sie können dieses Verhalten durch Festlegen der Schlüsselversion in der
capacitor.config.jsonDatei Dokumentation hier
Android
Wird von Capgo verwendet, um mit der JavaScript-Version zu vergleichen und eine Hauptaktualisierung zu finden
in Android wird die Variable unter der Schlüssel android/app/build.gradle Dokumentation hier defaultConfig.versionName
Sie können dieses Verhalten durch Festlegen der Schlüsselversion in der
capacitor.config.jsonDatei Dokumentation hier
JavaScript
Wird von Capgo verwendet, um sich mit der Native-Version zu vergleichen und eine große Aktualisierung zu finden
in JavaScript wird die Variable hier auf Ihrem Projekt gesetzt package.json unter der Schlüssel version
Beispiel
Ihr Ionic-App wird derzeit mit der Version veröffentlicht 1.2.3 mit Capacitor 3
Sie führen die Aktualisierung zu capacitor 4 durch
Sie müssen die Versionsnummer Ihres Projekts auf 2.2.3, dann enthalten alle Ihre Pakete Capgo mit Hinweis auf diese große Änderung
Wenn Sie diese Version auf Capgo und den App Store veröffentlichen
Alle nächsten Live-Updates in Capgo 2.2.4 wird nie an den Benutzer mit 1.2.3 Version. Nur mit 2.2.3 Version.
Wenn Sie diesem Muster folgen, brauchen Sie sich keine Sorgen mehr zu machen, alles wird gut gehandhabt.
Wenn ich diesem Muster nicht folge
In diesem Fall bedeutet das, dass Sie Ihre neue App mit Capacitor 4 bei Apple und Google einreichen müssen, aber nicht bei Capgo.
Dann müssen Sie warten, bis 100% Ihrer Benutzer die App haben oder zumindest 90%, das wird Monate dauern, wahrscheinlich.
Während dieser Zeit können Sie keine Update mit Capgo senden, da alte Benutzer die neue Version nicht erhalten können. Sie haben keine Möglichkeit, nur einige Benutzer auszuwählen, die das Update erhalten sollen.
Fortsetzen Sie von How to release major version in capgo
Wenn Sie How to release major version in capgo für die Planung eines Rollbacks und der Versionskontrolle verwenden, verbinden Sie es mit Rückgänge für die Implementierungsdetails in Rückgänge, Zielsprachversion für die Implementierungsdetails in Zielsprachversion, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, Bündel für die Implementierungsdetails in Bündel, und Capgo Live-Updates für den Produktworkflow in Capgo Live-Updates.