以下列方法的返回结果去跳转相对的控制器实现新特性,并保存最新的版本号.
- (BOOL)isNewVersion {
// MARK: - 目标:第一次启动这个应用时,显示新特性界面,以后就直接进入主程序!
// 版本号:两个版本号。Info.plist中有对应的版本号
// 2.1 获取应用当前的版本号
// 获取Info.plist文件的所有信息
NSDictionary *infoDict = [NSBundle mainBundle].infoDictionary;
// 取出当前的版本号
NSString *currentVersion = infoDict[@"CFBundleShortVersionString"];
// 2.2 获取之前存储的版本号
// - 获取偏好设置对象
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
// - 获取存储的版本号
NSString *oldVersion = [userDefaults objectForKey:@"app_version"];
// 2.3 比较
if ([currentVersion isEqualToString:oldVersion]) {
// 如果两个相等,不需要显示新特性,直接进入主程序
NSLog(@"直奔主程序");
return NO;
} else {
// 将最新的版本号存取起来!
// - 获取偏好设置
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
// - 存储
[userDefaults setObject:currentVersion forKey:@"app_version"];
// - 同步
[userDefaults synchronize];
// 否则,说明应用升级了,需要显示新特性界面!
NSLog(@"显示新特性界面,将新的版本号存起来");
return YES;
}
}