要实现开机启动后能够展示新的版本的应用的一些新特性,需要在-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{}
方法中进行设置
- 获取版本号的方法
- 获取当前版本号
NSString *curVersion = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"]; - 获取上一次的版本号
NSString *lastVersion = [[NSUserDefaults standardUserDefaults]objectForKey:@"version"];
- 获取当前版本号
示例:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 1.创建window
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
// 2.获取当前的版本号
NSString *curVersion = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
// 2.1获取上一次的版本号
NSString *lastVersion = [[NSUserDefaults standardUserDefaults]objectForKey:@"version"];
// 3.判断两次版本号是否相同,以确定是否需要展示新特性界面
if ([curVersion isEqualToString:lastVersion]) {//设置根控制器为主控制器
ZHJMainVc *mainVc = [[ZHJMainVc alloc]init];
mainVc.view.backgroundColor = [UIColor greenColor];
self.window.rootViewController = mainVc;
}else{//表示当前版本和上一次版本不一样,记录版本号,设置根控制器为新特性控制器
// 先将当前新版本的版本号保存,在展示新特性界面
[[NSUserDefaults standardUserDefaults] setObject:curVersion forKey:@"version"];
ZHJNewFeatureVc *newVc = [[ZHJNewFeatureVc alloc]init];
newVc.view.backgroundColor = [UIColor cyanColor];
self.window.rootViewController = newVc;
}
// 4.显示可见
[self.window makeKeyAndVisible];
return YES;
}