gpt4 book ai didi

ios - 如何检查当前版本的应用程序之前是否启动过?

转载 作者:行者123 更新时间:2023-11-28 18:31:49 25 4
gpt4 key购买 nike

我想在我的 iOS 应用程序首次启动时显示用户协议(protocol)/免责声明。目前,我只是在 AppDelegate 的 didFinishLaunchingWithOptions 中使用以下代码来完成此操作:

//Show disclaimer to user, if he never agreed to it yet
if(![[NSUserDefaults standardUserDefaults] boolForKey:kHasAgreedToDisclaimerKey])
[self showDisclaimer];

但是,每次安装和首次启动新版本的应用程序时,我都需要显示新的免责声明。

我考虑解决此问题的一种方法是为每个应用程序版本创建不同的 UserDefaults key ,但这看起来会在用户的设备上留下大量垃圾 key 。

有没有更好的办法解决这个问题?

最佳答案

关闭。不要为每个应用程序版本保存一些东西,只存储最后打开的应用程序版本并将其与当前应用程序版本进行比较。像这样:

//Get the last opened and current versions
NSString *lastOpenedV = [[NSUserDefaults standardUserDefaults] objectForKey:@"LastOpenedVersion"];
NSString *currentVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

//Show an alert if necessary
if (lastOpenedV == nil || ![lastOpenedV isEqualToString:currentVersion]) {

[self showDisclaimer];

//Update the last opened version
[[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:@"LastOpenedVersion"];
}

关于ios - 如何检查当前版本的应用程序之前是否启动过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27388460/

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