导航页的切换与判断

- (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"];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容