iOS开发技巧-版本比较

1、获取App当前的版本信息

#define XcodeAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

这是Umeng统计提供的宏定义,在使用Umeng的时候,需要设置App版本信息,如下所示,

[MobClick setAppVersion:XcodeAppVersion]; //参数为NSString * 类型,自定义app版本信息,如果不设置,默认从CFBundleVersion里取

2、iOS系统版本比较,

#define kSystemVersion              [[UIDevice currentDevice] systemVersion]

这个宏可以获取iOS的版本信息,例如5.0.1或者5.1等等

NSString *currentSystemVersion = kSystemVersion;
if ([currentSystemVersion compare:@"5.1"] != NSOrderedAscending) {
    //当前iOS版本大于5.1
}else if ([currentSystemVersion compare:@"5.0.1"] != NSOrderedAscending) {
    //当前iOS版本大于5.0.1
}

NSOrderedAsceding文档的解释如下,

(The left operand is smaller than the right operand,左侧的参数小于右侧的参数)

这种比较方法很方便,不仅可以进行5.1与6.1的比较,还可以细化到5.1和5.0.1版本的比较。之所以需要细化,是因为每一个小版本之间,sdk还有有一些差异的,就比如避免文件被备份到iCloud,实现方式在5.1和5.0.1不同。

时间: 2024-10-06 12:40:17

iOS开发技巧-版本比较的相关文章

iOS开发技巧之查看模拟器沙盒文件

iOS开发技巧之查看模拟器沙盒文件 iOS开发中,在对数据库进行操作时,有时我们需要直观的查看数据库的内容,那么我们如何找到沙盒中的这个文件呢,步骤很简单: 1.点击Finder选项栏上的前往菜单: 2.选择前往文件夹选项: 前往的文件路径为:/Users/username/Library/Application Support/iPhone Simulator/ 其中username为当前mac电脑的用户名. 3.界面类似如下模样,选择一个版本的模拟器,应用的沙盒文件就在Application

iOS 开发技巧

快速移除键盘 之前一直是讲view的父类改成control,然后加一个全屏按钮,点击让键盘消失.这个方法要写好多代码,现在一个比较好的方法是重写一个下面的方法: ? 1 2 3 4 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {     [self.view endEditing:YES]; } iOS 开发技巧,布布扣,bubuko.com

IOS开发技巧(转)

Subclassing 继承/子类 大多语言允许开发者子类化框架所提供的类,但是在 Objective-C 中不完全是这样.大部分常用的类,诸如 NSArray.NSSet.NSDictionary 基本上都是集合类型的.不建议继承这些类,除非你准备转发调用或者实现所有必要的原始方法. 在传统的开发语言中,通常会通过继承基础类型(类似 NSArray 的类)来新增方法,重载已有的方法,或是自定义 UI 组件的外观.在 Objective-C 中,一般通过 Category 来扩展新方法.通过混合

iOS开发技巧(系列十七:使用Xcode DEBUG模式和RELEASE模式)

在开发过程中,我们经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程.但是一个发布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们可以使用一个宏定义来处理,在开发的时候使用DEBUG模式,在发布的时候使用RELEASE模式.这样,发布的App就不会在程序内部做大量的NSLog输出了. 简单的代码如下, #if defined(DEBUG)||defined(_DEBUG)     NS

尽量将View设置为Opaque,iOS开发技巧

转自:http://www.tiboo.cn/dianzijie/b1837169/iOS设备都具有一定的局限性,开发者只能力求使其不断趋于完美.每一阶段的iOS开发都与遇到很多的问题,开发者和专家也在不断总结经验,与大家一起分享心得和体会.下面是一点开发技巧,希望对大家有帮助.要注意,首先尽量将view设置为Opaque,如果view是不透明的,那么应该将其opaque属性设置为YES. 为什么要这样做呢?其实是有一定的原因的,一起来看一下.这样设置ios可以让系统以最优的方式来绘制view.

iOS开发技巧 -- 复用代码片段

如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏定义或者把这些代码收集起来,下次直接使用,或者放到xcode的代码片库里,直接使用, 从而提高开发效率: 1. 将常用代码片段封装成一个类里 当一个代码片在一个或多个工程之中经常出现时,把他封装在一个类里面,在使用时候直接传参即可实现对于功能,或者直接把这类放到另一个工程中同样使用: 使用UIAlertView举例 创建一个XF_UIKit类,对于声明文件

iOS开发技巧系列---使用链式编程和Block来实现UIAlertView

UIAlertView是iOS开发过程中最常用的控件之一,是提醒用户做出选择最主要的工具.在iOS8及后来的系统中,苹果更推荐使用UIAlertController来代替UIAlertView.所以本文也并不提倡开发者再使用UIAlertView,本文的目的是探讨如何将原来的给变量赋值和通过Delete来回调的方式变成链式编程风格和通过Block来回调.通过学习对UIAlertView的改造让各位iOS开发者能够学会这种更加便捷的开发方式 什么是链式编程 对于有一定开发经验的开发者来说,链式编程

网上收集的以及自己总结的iOS开发技巧

Objective-C 1.让Xcode的控制台支持LLDB类型的打印 这有什么用? 怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼? 因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了.不信? 看如下图 : 进入正题 打开终端输入三条命令: 1. touch ~/.lldbinit 2. echo display @import UIKit >> ~/.lldbinit 3. echo target stop-ho

IOS开发技巧--Git的使用

Git介绍 1. 集中式 2. 分布式 SSH密钥生成 存在 https或 ssh 协议 https://git.oschina.net/ericbluce/hcxy112.git [email protected]:ericbluce/hcxy112.git 官方网站 https://git.oschina.net/ 开源中国社区成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的.快捷更新的用来检索开源软件以及交流使用开源经验的平台 目前国内有很多公司会将公司的项目部署在 OSC