发布主要版本时
版本管理可能很难,通常您希望在用户出现重大变化时发送一个主要更新。
但版本管理并不是为此而设计的,应用商店版本与原生版本不同。
原生版本用于管理破坏性更改 code
在 IOS 中,例如,iOS 16 是苹果的 store version of Apple, but the code version is 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.jsonfile 文档
Android
Capgo将使用它来与JavaScript版本进行比较并找到主要升级
在Android中,变量将在您的项目中设置在这里 android/app/build.gradle 在下面的键中 defaultConfig.versionName
您可以通过在文件中设置版本键来覆盖此行为
capacitor.config.json文档 JavaScript
__CAPGO_KEEP_0__将使用它来与Native版本进行比较并找到主要升级
Will be used by Capgo to compare to Native version and find Major upgrade
在下面的键中 package.json Capacitor将用于与JavaScript版本进行比较并找到主要升级 version
Example
您的Ionic应用程序当前已发布的版本是 1.2.3 with Capacitor 3
You are doing the upgrade to capacitor 4.
您需要将版本号升级到 2.2.3, then all your packages include Capgo with notice this big change.
When you release this version to Capgo and the App Store.
All next live update in Capgo 2.2.4 和App Store时。 1.2.3 所有下一个实时更新 2.2.3 将永远不会发送给用户
版本。只有
如果我不遵循这个
在这种情况下,这意味着您需要将您的新应用程序与Capacitor 4发送到苹果和谷歌,但不要发送Capgo。
然后您需要等待100%的用户都有应用程序,或者至少90%,这需要几个月的时间。
在此期间,您不能发送任何Capgo更新,因为旧用户无法获取新版本。您没有选择仅将更新发送给某些用户的方法。
Keep going from How to release major version in capgo
如果您正在使用 How to release major version in capgo 来规划回滚和版本控制,连接它与 回滚 查看回滚的实施细节在回滚中 版本目标 查看版本目标的实施细节在版本目标中 更新行为 为更新行为的实现细节 捆绑包 为捆绑包的实现细节 Capgo Live Updates for the product workflow in Capgo Live Updates.