新浪微博客户端(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];
    
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值