zoukankan      html  css  js  c++  java
  • 新浪微博客户端(12)-判断当前软件是否是新版本(是否显示新特性)

    保存软件版本,通过版本比对来决定是否显示新特性界面。

    AppDelegate.m

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        
        
        
        // 1. 创建窗口
        self.window = [[UIWindow alloc] init];
        self.window.frame = [UIScreen mainScreen].bounds;
        
    
    
        // 2. 进行版本判断,根据版本来决定keyWindow的rootViewController
        NSString *versionKey = @"CFBundleVersion";
        // 从Info.plist中读取当前软件版本号
        NSString *currentVersion = [NSBundle mainBundle].infoDictionary[versionKey];
        // 从沙盒中读取保存的历史版本号
        NSString *lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:versionKey];
        
        
        // 判断当前软件版本号是否与沙盒中保存的一致
        if ([currentVersion isEqualToString:lastVersion]) { // 版本号一致
            DJMainViewController *mainVc = [[DJMainViewController alloc] init];
            self.window.rootViewController = mainVc;
        } else { // 版本号不一致,显示新特性,并将当前软件版本号保存到沙盒
            /* 1.显示新特性 */
            DJNewFeatureViewController *newVc = [[DJNewFeatureViewController alloc] init];
            self.window.rootViewController = newVc;
            /* 2.将当前版本号写入到沙盒 */
            [[NSUserDefaults standardUserDefaults] setValue:currentVersion forKey:versionKey];
            // 立即将内存中的数据同步到沙盒
            [[NSUserDefaults standardUserDefaults] synchronize];
        }
        
        
        // 3. 显示窗口
        [self.window makeKeyAndVisible];
        return YES;
    }

    跳转到主界面

    /** 跳转到主界面 */
    - (void)loadMainUI {
    
        UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
        keyWindow.rootViewController = [[DJMainViewController alloc] init];
        
    }
  • 相关阅读:
    数据结构与算法(一):初识算法和计算模型
    Flutter学习笔记(41)--自定义Dialog实现版本更新弹窗
    Mybatis-Plus简介及HelloWorld实现(附视频教程)~连载中
    “乐观锁”解决高并发下的幂等性问题(附java实测视频教程)
    git merge&rebase区别
    GIT TAG标签使用
    idea操作github远程库分支
    idea操作GIT本地库分支操作
    eclipse GIT本地库分支操作
    git分支操作命令
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/5994632.html
Copyright © 2011-2022 走看看