发布主要版本时
版本管理可能很难,通常您希望在用户看到重大变化时发送主要更新。
但是,版本管理不是为此而设计的,应用商店版本与原生版本不同。
原生版本用于管理破坏性更改 code
例如在IOS中,iOS 16是由苹果公司 store version 的code版本是 20A5283p (他们似乎没有使用SemVer)
现在很明显,我们不混合它们,而是使用它们的目的!
主要版本
在您的Capacitor应用中,主要版本的发布是当发生破坏性更改时必要的。 例如,一个新的IOS目标(15到16),或一个新的Capacitor版本(3到4),或您使用的插件(1.2到2.0)已更新到主要版本。
这个变化意味着所有工具都必须对齐来处理破坏性更改。
因此Capgo遵循这个系统。
所以如果您发布一个主要版本,Capgo不会将其发送给没有从商店安装它的用户。
这个行为可以自定义。您可以在这里 了解更多关于它
版本
在 Capgo 中找到要比较的版本
IOS
将用于 Capgo 比较 JavaScript 版本并找到主要升级
在 IOS 中,变量在您的项目中设置为此处 ios/App/App/Info.plist 在下面的键中CFBundleShortVersionString 或 ios/App/App.xcodeproj/project.pbxproj 在下面的键中 MARKETING_VERSION 如果 MARKETING_VERSION 在您的 Info.plist 文件中设置了
文件。
capacitor.config.json您可以通过在文件中设置版本键来覆盖此行为 docs here
Android
将被Capgo用于与JavaScript版本进行比较并找到主要升级
在Android中,变量在您的项目中设置为此处 android/app/build.gradle 在键下 defaultConfig.versionName
您可以通过在文件中设置版本键来覆盖此行为
capacitor.config.json文件 docs here
JavaScript
将被Capgo用于与Native版本进行比较并找到主要升级
在JavaScript中,变量在您的项目中设置为此处 package.json 在键下 version
Example
您的Ionic应用当前发布版本是 1.2.3 与Capacitor 3
您正在升级到capacitor 4.
您需要将版本号升级到 2.2.3,然后所有您的包都包含Capgo,注意到这个大变化。
当您发布此版本到Capgo和App Store时。
所有下一个实时更新在Capgo 2.2.4 将永远不会发送给用户使用 1.2.3 版本。只有使用 2.2.3 版本。
如果您遵循这个模式,不用担心,所有都已处理。
如果我不遵循这个
在这种情况下,这意味着你需要将你的新应用程序(Capacitor 4)发送到苹果和谷歌,但不要发送到Capgo。
然后你需要等待100%的用户都有应用程序,或者至少90%,这需要几个月的时间。
在这个过程中,你不能发送任何更新到Capgo,因为老用户无法获取新版本。 你没有办法选择某些用户来接收更新。
继续阅读如何在capgo中发布重大版本
如果你正在使用 如何在capgo中发布重大版本 来规划回滚和版本控制,连接它到 回滚 查看回滚的实现细节在 版本目标 查看版本目标的实现细节在 Update Behavior for the implementation detail in Update Behavior, bundle for the implementation detail in bundle, and Capgo Live Updates for the product workflow in Capgo Live Updates.