保存软件版本,通过版本比对来决定是否显示新特性界面。

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// 1. 创建窗口self.window = [[UIWindow alloc] init];self.window.frame = [UIScreen mainScreen].bounds;// 2. 进行版本判断,根据版本来决定keyWindow的rootViewControllerNSString *versionKey = @"CFBundleVersion";// 从Info.plist中读取当前软件版本号NSString *currentVersion = [NSBundle mainBundle].infoDictionary[versionKey];// 从沙盒中读取保存的历史版本号NSString *lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:versionKey];// 判断当前软件版本号是否与沙盒中保存的一致if ([currentVersion isEqualToString:lastVersion]) { // 版本号一致DJMainViewController *mainVc = [[DJMainViewController alloc] init];self.window.rootViewController = mainVc;} else { // 版本号不一致,显示新特性,并将当前软件版本号保存到沙盒/* 1.显示新特性 */DJNewFeatureViewController *newVc = [[DJNewFeatureViewController alloc] init];self.window.rootViewController = newVc;/* 2.将当前版本号写入到沙盒 */[[NSUserDefaults standardUserDefaults] setValue:currentVersion forKey:versionKey];// 立即将内存中的数据同步到沙盒
        [[NSUserDefaults standardUserDefaults] synchronize];}// 3. 显示窗口
    [self.window makeKeyAndVisible];return YES;
}

跳转到主界面

/** 跳转到主界面 */
- (void)loadMainUI {UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;keyWindow.rootViewController = [[DJMainViewController alloc] init];}

新浪微博客户端(12)-判断当前软件是否是新版本(是否显示新特性)相关推荐

  1. 即将改变软件开发的5个Java9新特性

    预计发布的Java 9中,最令人兴奋的特性是什么? 有关Java9的消息最近显得有些沉寂,不要被它迷惑了.JDK开发者正在努力朝着下一个版本迈进,计划2015年12月前完成所有功能开发.之后,它会经历 ...

  2. 开源DJ软件Mixxx 2.0版发布 新特性早知道

    时隔三年,开源 DJ 混音软件 Mixxx 再度发布一个大的版本更新--Mixxx 2.0. Mixxx 是一个跨平台的自由.开源的 DJ 混音软件,它几乎提供了当你想自己混音时需要的一切功能.Mix ...

  3. 新浪微博客户端新特性滚动视图和启动界面实现

    使用过新浪微博客户端的童鞋都清楚,客户端每一次升级之后第一次启动界面就会有新特性的介绍,用户通过左右滑动视图可以查看新的特性,查看完最后一个特性之后就进入了主界面了.如果再一次启动程序的时候,就不会再 ...

  4. Android 12新特性之获取壁纸主色调并设置系统主题色

    ​ 关注这个问题首先是因为我队友某天吐槽,说整些奇奇怪怪的东西不如整个什么手机自适应手机壳主题.当然这个东西不是那么好实现的,毕竟已经脱离了软件层面涉及到硬件层面了.但是,转念一想,是否可以弄一个自适 ...

  5. goldengate 12c 12.2 新特性(updated)

    GoldenGate 12.2已经提供下载,增加了不少新特性 1. 异构配置加强 不在需要sourceDefs和AssumeTargetDefs文件,在队列文件中已经包含metadata信息,比如ta ...

  6. 友盟社会化分享之判断是否安装了QQ、微信、新浪微博客户端

    一.判断是否安装了微信客户端 1.在.m文件中到入头文件:#import "WXApi.h" 2.调用是否安装了微信的方法isWXAppInstalled: if ([WXApi  ...

  7. android分享到新浪微博客户端吗,Android调用手机新浪微博客户端分享

    通过Action_Send以及Intent.createChoose()调用系统分享功能时,是可以显示当前手机上已安装的能分享的客户端列表,当然,开发者也可以指定单独某一个平台来分享,代码如下: pu ...

  8. android开发新浪微博客户端 完整攻略 [新手必读][转]

    开始接触学习android已经有3个礼拜了,一直都是对着android的sdk文档写Tutorials从Hello World到Notepad Tutorial算是初步入门了吧,刚好最近对微博感兴趣就 ...

  9. android开发新浪微博客户端 完整攻略

    http://www.eoeandroid.com/forum-viewthread-tid-67298-fromuid-106432.html 开始接触学习android已经有3个礼拜了,一直都是对 ...

最新文章

  1. 【Keras学习】常见问题与解答
  2. Node Sass does not yet support your current environment: Windows 64-bit然如何解决,cnpm此问题解决方法
  3. 刷题-CC150-Java实现
  4. python为什么用linux_为何Python在Windows下使用比Linux下更方便
  5. 6.openldap客户端安装
  6. debian查询端口进程_centos linux系统配置查询
  7. NullPointerException : HiveAuthorizerImpl.checkPrivileges(HiveAuthorizerImpl.java:85)
  8. 单片机从00到99c语言,跪求单片机0~99数码管显示用C语言编写的程序
  9. 关于垃圾回收,我来解释下为什么LocalConnection可以实现垃圾回收
  10. web 流程图工具_要什么第三方流程图制作软件,微软的Visio 2016不香吗?
  11. 基于Android的英文电子词典
  12. Poker2的Programmer Dvorak解决方案
  13. 微信小程序video标签大小设置
  14. 应届生拿到offer之后的流程_应届生雷区:拿到offer不想去了怎么办?小心登上HR黑名单!...
  15. 鱼塘钓鱼(贪心算法)--算法设计
  16. matlab显示串联矩阵的维度不一致,串联的矩阵的维度不一致。
  17. vsftpd的安装和使用
  18. android 一分钟倒计时动画,Android View篇之启动页倒计时动画的实现
  19. HashMap、ConcurrentHashMap(1.7、1.8)源码分析 + 红黑树
  20. Java 操作SSH2实现远程执行linux命令

热门文章

  1. Linux运维|记录一个挖矿病毒
  2. C to the start....start to C
  3. [MySQL光速入门]004 作业解答
  4. 曙光服务器 引导,曙光服务器怎么设置u盘启动
  5. Android studio 运行项目出现 应用程序安装异常(-15)
  6. 寒假之视频压缩笔记——FPGA 视频拼接器的底板
  7. ERP系统31.83版本发布,一键极速连接企业供应链!
  8. java 读取shp
  9. oec数据挖掘用到的hbase
  10. php 微信 活动 抽奖,jQuery手机微信活动抽奖代码