.m
+ (UIViewController *)chooseRootViewController
{
UIViewController *rootVc = nil;
// 判断下用户有没有最新的版本
// 最新的版本都是保存到info.plist
// 从info.plist文件获取最新版本
// 获取info.plist
NSString *infoPath = [[NSBundle mainBundle] pathForResource:@"Info.plist" ofType:nil];
// NSDictionary *dcit = [NSDictionary dictionaryWithContentsOfFile:infoPath];
NSDictionary *dict = [NSBundle mainBundle].infoDictionary;
// 获取最新的版本号
NSString *curVersion = dict[@"CFBundleShortVersionString"];
// 获取上一次的版本号
NSString *lastVersion = [XMGSaveTool objectForKey:XMGVersionKey];
// 之前的最新的版本号 lastVersion
if ([curVersion isEqualToString:lastVersion]) {
// 版本号相等
rootVc = [[XMGTabBarController alloc] init];
}else{ // 有最新的版本号
// 保存最新的版本号
// 保存到偏好设置
[XMGSaveTool setObject:curVersion forKey:XMGVersionKey];
// 创建新特性界面
rootVc = [[XMGNewFeatureViewController alloc] init];
}
return rootVc;
}
.h
@interface XMGGuideTool : NSObject
// 选择窗口根控制器
+ (UIViewController *)chooseRootViewController;
@end
AppDelegate
.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// 1.创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 2.设置窗口的根控制器
// 选择根控制器
self.window.rootViewController = [XMGGuideTool chooseRootViewController];
// 3.显示窗口
[self.window makeKeyAndVisible];
return YES;
}