当app版本更新之后,我们第一次进入app会看到一些关于新版本特性的一些说明页面,然而,当我们下次进入的时候,新特性界面就不展示了,这种效果其实很好实现,下面就简单介绍一种方法:
一、先列两个宏定义,优化代码
#define APPUserDefault [NSUserDefaults standardUserDefaults]
#define AppVersionStr [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
二、在AppDelegate.m中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/**
逻辑就是先判断版本号,如果之前使用的版本和当前的版本不一样,说明app有更新,需要展示新版本特性,如果版本号一样,则直接进入主页
*/
double oldVersion = [APPUserDefault doubleForKey:@"versionId"];
if (oldVersion == 0) {
NSLog(@"第一次启动");
}else {
double newVersion = [AppVersionStr doubleValue];
if (newVersion != oldVersion) {
NSLog(@"显示新特性页面");
}else {
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
self.window.rootViewController = [storyBoard instantiateViewControllerWithIdentifier:@"main"];
}
}
return YES;
}
三、在新特性界面的文件里:
/**
从版本新特性界面界面进入主页后,需要把版本号更新了,因为在没有进入主页之前,app退出的话,下次进入应该还是从新特性界面进入
[APPUserDefault setDouble:[AppVersionStr doubleValue] forKey:@"versionId"];
[APPUserDefault synchronize];
[self performSegueWithIdentifier:@"mainView" sender:nil]; //跳转页面
*/
测试的时候可以改下info.plist文件中的版本号的值就可以了: