判断是否是新特性,决定是否进入欢迎页

    //获取到bundle version
    NSString * versionKey = (__bridge NSString *)kCFBundleVersionKey;
    NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    
    //从文件里获取上一次存储的版本号。第一次取时,肯定没有版本号,为空
    NSString * lastVersion = [defaults objectForKey:versionKey];
    
    //获得当前打开软件的版本号
    NSString * currentVersion = [NSBundle mainBundle].infoDictionary[versionKey];
    
    //比较
    if ([currentVersion isEqualToString:lastVersion]) {
        //如果相同,则代表不是最新的版本,显示主视图
        self.window.rootViewController = MainVC;//MainVC是自己定义的
    }else{
        //代表是最新的视图
        self.window.rootViewController = NewFeatureVC;//显示新特性
        //同时,存储这次使用的软件版本
        [defaults setObject:currentVersion forKey:versionKey];
        [defaults synchronize];//这句话输入完,才开始存储。否则不知道什么时候开始存储。
    }

 有一个疑问,只判断了是否相同,但是没有比较大小。如果上次存储的是个大版本,这次却是小版本进入怎么办?---这样的情况是不会存在的。因为每次提示更新,总会是大版本才提示。

原文地址:https://www.cnblogs.com/tanglimei/p/4631483.html