gpt4 book ai didi

iphone - 如何应用多个应用程序更新?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:55 25 4
gpt4 key购买 nike

我已经发布了我的应用程序的 1.0 版。 1.1 版可能会包含某种迁移代码。为了便于讨论,假设它将更新核心数据属性——所有姓氏都将转换为大写。我将在 1.1 版中首次启动时执行此代码。

我是否需要为所有后续版本保留此代码?如果用户跳过 1.0 并仅在 1.2 发布时更新,是否会自动首先应用 1.1?还是我需要不断检查是否永远更新所有版本中的姓氏?

最佳答案

您不发布更新,而是发布新版本。如果有人从 1.0 更新到 1.2 并跳过 1.1,那么这就是正在发生的事情。 1.1 永远不会被安装或执行。

编辑:

这是一个非常简单的更新管理方法的建议。可能不是最优雅的一个,但它确实有效。

NSString *lastVersion = [[NSUserDefaults standardUserDefaults]
stringForKey:@"LastVersion"];
NSString *currentVersion = [[NSBundle mainBundle]
objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

if ([self version:lastVersion isSmallerThanVersion:@"1.1"]) {
// update from 1.0 to 1.1 here.
}
if ([self version:lastVersion isSmallerThanVersion:@"1.2"]) {
// update from 1.1 to 1.2 here.
}
if ([self version:lastVersion isSmallerThanVersion:@"1.3"]) {
// update from 1.2 to 1.3 here.
}

[[NSUserDefaults standardUserDefaults]
setObject:currentVersion forKey:@"LastVersion"];

在此示例中,您有 4 个版本(1.0、1.1、1.2、1.3),1.3 是最新版本。

您在每次启动应用程序时运行它。由于更新应用程序也会终止它,您可以假设这将在可能的更新后运行。

基本上,您从用户默认值加载用户在此设备上使用的最后一个版本。如果应用首次启动,将没有已知的先前版本,不会执行任何更新例程,当前版本 (1.3) 将保存为上次使用的版本。

如果应用程序使用的是以前的版本 (1.2),则 lastVersion 将为 1.2 并且仅执行最后一个 if block .

如果应用程序使用的是 1.1 版,但跳过了 1.2 版,现在更新到 1.3 版,lastVersion 将为 1.1 并且最后两个 if block 将按顺序执行。因此,首先将数据从 1.1 更新到 1.2,然后从 1.2 更新到 1.3。

关于iphone - 如何应用多个应用程序更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com