When eine große Version freigeben
Die Versionsverwaltung kann schwierig zu handhaben sein, normalerweise möchten Sie eine große Aktualisierung senden, wenn eine große Änderung 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, umbruchende Änderungen im code
Beispielsweise ist iOS 16 das 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, für das sie gemacht sind!
Große Veröffentlichung
In Ihrer Capacitor-App ist eine große Veröffentlichung erforderlich, wenn ein umbruchender Änderung auftritt. Beispiel: Ein neuer Ziel für IOS (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 große Version aktualisiert.
Dieser Änderung bedeutet, dass alle Werkzeuge ausgerichtet werden müssen, um die umbruchende Änderung zu handhaben.
Deshwegen folgt Capgo diesem System.
Daher wird Capgo bei einer großen Version nicht an einen Benutzer gesendet, der sie nicht installiert hat, um es vom Store zu erhalten.
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 große Aktualisierung zu finden
Bei 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 falls MARKETING_VERSION wird in Ihrem Info.plist Datei gesetzt.
Sie können dieses Verhalten überschreiben, indem Sie die version-Schlüssel in
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 auf Ihrem Projekt hier android/app/build.gradle unter der Schlüssel defaultConfig.versionName
Sie können dieses Verhalten überschreiben, indem Sie die version-Schlüssel in
capacitor.config.jsonDatei Dokumentation hier
JavaScript
Wird von Capgo verwendet, um mit der Native-Version zu vergleichen und eine große Aktualisierung zu finden
in JavaScript wird die var auf Ihrem Projekt hier 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 Ihre Versionsnummer auf 2.2.3dann enthalten alle Ihre Pakete Capgo mit Hinweis auf diese große Änderung
Wenn Sie diese Version auf Capgo und den App Store freigeben
Alle nächsten Live-Updates in Capgo 2.2.4 wird nie an den Benutzer geschickt 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%, es 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.
Fahren Sie fort 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ängigmachung für die Implementierungsdetails in Rückgängigmachung, Zielsprachversionierung für die Implementierungsdetails in Zielsprachversionierung, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, Bündelung für die Implementierungsdetails in Bündelung, und Capgo Live-Updates für den Produktworkflow in Capgo Live-Updates.