iOS 如何第一次打开App 时展示软件新特性

  • 首先需要获得当前软件的版本号,通过和'旧'版本号比对判断出 app 是否第一次打开,是否需要展示当前软件的新特性引导页面.

  • 版本号在主资源包的 Info.plist 文件中.

iOS 如何第一次打开App 时展示软件新特性_第1张图片
Info.plist
  • 但是在 info.plist 中存储的键值不是真实的,所以我们通过查看 Source Code 的方式获得版本号的真实键值
iOS 如何第一次打开App 时展示软件新特性_第2张图片
Source Code
  • 我们在第一次打开软件时,将当前版本存入用户偏好设置.

  • 下次打开的时候,拿出上次手动存储的版本号与软件版本号进行比对.就可以判断出当前软件是否第一次打开.

  • 实现代码如下


@implementation XBVersion

+ (instancetype)chooseRootViewController{

    // 取出当前软件版本号
    NSString *curVersion = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
    NSLog(@"Current Version -- %@",curVersion);

    // 取出上次手动存储的版本号
    NSString *oldVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"VersionKey"];
    NSLog(@"Old Version -- %@",oldVersion);

    // 比对当前软件是否第一次打开
    if ([curVersion isEqual:oldVersion]){
        NSLog(@"没有新特性");
    } else {
        NSLog(@"有新特性");
        // 手动将当前版本存入偏好设置
        [[NSUserDefaults standardUserDefaults] setValue:curVersion forKey:@"VersionKey"];
    }

    return nil;
}

@end

代码运行效果如下

第一次打开时
  • 由于第一次打开, Old Version 的内容我们还没有手动添加,明显可以看到当前软件是第一次打开.
下次在打开时
  • 成功读取版本信息,可以有效的避免新特性被重复多次的展示.

你可能感兴趣的:(iOS 如何第一次打开App 时展示软件新特性)