0

如何检测目标 C 中的升级点?无论如何都可以检测到该应用程序刚刚升级到较新版本或正在进行更新。?

我的场景是考虑用户在他的设备中有一个应用程序版本 1.0,他正在收到更新通知并更新应用程序。版本更新后的应用程序应该在这里显示一些应用程序教程。

4

1 回答 1

2

用于NSUserDefaults检查应用程序是否首次启动。

//In applicationDidFinishLaunching:withOptions:
BOOL hasLaunchedBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"AppHasLaunchedBefore_v1.0"];
if(!hasLaunchedBefore) {
    //First launch
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"AppHasLaunchedBefore_v1.0"];
}
else {
    //Not first launch
}

当您将应用程序更新到 2.0 版(假设)时,将上述密钥修改为AppHasLaunchedBefore_v2.0. 这种方式在更新后首次启动时,此密钥将不会出现在NSUserDefaults制作hasLaunchedBefore = NO中。您可以采取必要的措施。

NSUserDefaults如果需要,您可以从with中删除以前的版本密钥,

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppHasLaunchedBefore_v1.0"];

您可以通过以下方式以编程方式获取当前发布的应用程序的捆绑版本,

NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
//Append this to the user default key, AppHasLaunchedBefore_v%@

希望有帮助!

于 2013-09-12T13:16:40.330 回答