现在很多的app在更新完成,登录的时候回显示新版本的特性、新功能之类的界面,当我们浏览完这些界面之后,下次登录就不会显示,具体的做法呢,也非常的简单,代码如下所示:
下面的代码中用到的宏定义如下:
#define XDLUserDefault [NSUserDefaults standardUserDefaults]
#define AppVersionStr [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
先在#import"AppDelegate.h"中写读取版本号的方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
double oldVersion = [XDLUserDefault 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;
}
如果两次登录版本相同,则不打开新特性的界面,反正则打开。
然后再进入主界面的时候,记录版本号信息:
-(void)enterClick {
[XDLUserDefault setDouble:[AppVersionStr doubleValue] forKey:@"versionId"];
[XDLUserDefault synchronize];
}
当第一次使用或者app更新之后,会出现类似1、2图的界面,然后进入主页,当再次使用app之后,就直接进入主页了。
版本号的信息在info.plist文件中有展示:
更改这个数字可以模拟版本信息的更迭。