当我们使用iPhone时,所下载的APP时常会因为修改BUG、增加功能而需要更新,每次更新过后都会发现,当第一次打开APP时会有一个版本新特性来简单展示本次更新的内容。根据此需求来讨论下如何在iOS开发中实现这一功能。
问题相关
代码思路
- 在第一次打开APP时,将版本号存入用户偏好设置中。
- 当再一次打开APP时,取出上次存入的版本号,与当前的版本号进行比较,如果是一样,则说明版本与上一次是一致的,不需要新特性引导,如果不一样,说明版本不同,需要打开新特性界面进行引导。
具体代码
AppDelegate.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { application.statusBarHidden = NO; self.window = [[UIWindow alloc] init]; self.window.frame = [UIScreen mainScreen].bounds; NSString *versionKey = @"CFBundleVersion"; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *lastVersion = [defaults objectForKey:versionKey]; NSString *currentVersion = [NSBundle mainBundle].infoDictionary[versionKey]; if ([currentVersion isEqualToString:lastVersion]) { self.window.rootViewController = [[GUTabBarController alloc] init]; }else{ self.window.rootViewController = [[GUNewFeatureController alloc] init]; [defaults setObject:currentVersion forKey:versionKey]; [defaults synchronize]; } [self.window makeKeyAndVisible]; return YES; }
|