Swift 从零开始 10_判断App是否第一次打开及判断是否是新版本 1.判断App是否第一次打开1234567891011//App第一次启动调用方法 :didFinishLaunchingWithOptions: if (!NSUserDefaults.standardUserDefaults().boolForKey("firstLaunch")) { NSUserDefaults.standardUserDefaults().setBool(true, forKey: "firstLaunch") print("App第一次打开") }else{ print("App不是第一次打开") } 2.判断App版本是否是新版本(OC)12345678910111213141516171819202122232425262728293031323334353637#pragma mark - 判断是不是新版本,是否需要显示新特性- (BOOL)isNewVision { // MARK: - 目标:第一次启动这个应用时,显示新特性界面,以后就直接进入主程序! // 版本号:两个版本号。Info.plist中有对应的版本号 // 1. 获取应用当前的版本号 // 获取Info.plist文件的所有信息 NSDictionary *infoDict = [NSBundle mainBundle].infoDictionary; // 获取当前版本号 NSString *currentBete = infoDict[@"CFBundleShortVersionString"]; // 2. 获取之前存储的版本号 // 获取偏好设置对象 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *oldBete = [defaults objectForKey:@"app_version"]; // 3. 比较新旧版本号 if ([currentBete isEqualToString:oldBete]) { //如果新旧版本号相等,直接进入主程序 return NO; }else { //如果不相等 //获取偏好设置 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //存储 [defaults setObject:currentBete forKey:@"app_version"]; //立即同步 [defaults synchronize]; return YES; } didFinishLaunchingWithOptions: //设置根控制器(DXGuideController:新特性) if ([self isNewVision]) { self.window.rootViewController = [[DXGuideController alloc] init]; }else { self.window.rootViewController = tabBarVC; 2016-11-30 App启动