导航页的切换与判断

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

{

// Override point for customization after application launch.

// 创建window

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

// 设置根控制器

self.window.rootViewController = [self pickViewController];

// 显示window

[self.window makeKeyAndVisible];

// 把当前的版本号(info) 存到沙盒中

[self saveAppVersion];

return YES;

}

// 判断版本号 返回应该加载的控制器

- (UIViewController*)pickViewController

{

// 获取当前程序的版本(info.plist里面的版本号)和沙盒之前保存的版本号对比

if (![[self loadAppVersion] isEqualToString:[self loadSavedAppVersion]]) {

// 如果 一样 那么显示 tabbar

// 创建一个tabbarController(window的根控制器)

CZTabBarController* tabbarController = [[CZTabBarController alloc] init];

return tabbarController;

}

else {

// 如果不一样 那么显示 新特性

CZGuideController* vc = [[CZGuideController alloc] init];

return vc;

}

}

// 获取沙盒中保存的版本号

- (NSString*)loadSavedAppVersion

{

// 获取ud单例

NSUserDefaults* ud = [NSUserDefaults standardUserDefaults];

return [ud objectForKey:@"appVersion"];

}

// 获取info的版本号

- (NSString*)loadAppVersion

{

// 获取info字典

NSDictionary* dict = [NSBundle mainBundle].infoDictionary;

return dict[@"CFBundleShortVersionString"];

}

// 把当前info中的版本号 保存到沙盒中

- (void)saveAppVersion

{

// 获取info的版本号

NSDictionary* dict = [NSBundle mainBundle].infoDictionary;

// 保存到沙盒

NSUserDefaults* ud = [NSUserDefaults standardUserDefaults];

[ud setObject:dict[@"CFBundleShortVersionString"] forKey:@"appVersion"];

}

你可能感兴趣的:(导航页的切换与判断)