iOS 之版本适配问题

iOS SDK 有着不慢的更新速度 , 每次更新都会有不少新添加的内容和改动 ,如果不做适配 ,可能会导致使用的高版本里的方法,在低版本手机运行时程序崩溃 。所以做好iOS应用的版本适配 , 也是开发过程中比较重要的一项内容 。

在xcode中又两个地方设置sdk,一个是Development Target,指的是编译后的app可再终端的哪个版本上运行,设置方法如图


另外一个是Base SDK,指的是当前编译所用的SDK版本,设置方法如图



高版本的x-code对应的BaseSDK也是高版本的 , 比如当前X-code6.3对应的是iOS SDK8.3 。但市面上用户手里的手机系统版本可能还有 7.0、 7.1等低版本,所以我们必须让我们的应用同时支持低版本 。

修改方法就是 ,在Development Target即第一张图所示位置里面更改支持的最低版本 ,但并不是说仅改这一个值就高枕无忧了。因为此时是用最新的SDK生成app,但却允许在早期版本的系统上运行,所以此时开发者要确认在旧系统上运行app时不能调用那些新的SDK中添加的功能,否则会在运行时出错导致app闪退。下面就介绍一下如何确保app能够在旧的系统上正确运行。

从网上找了个例子:说明的是在iOS7.0和iOS6.1(以及更低版本)之间的适配问题(用的是xcode5.0,里边有6.1和7.0两个版本的sdk),其他版本同样的问题 , 解决办法类似 。

新建一个工程,默认的development target,base sdk以及模拟器的版本都是7.0,在AppDelegate中的didFinishLaunchingWithOptions方法里写下

self.window.tintColor = [UIColor redColor];  
然后运行,这样是没有任何错误的。接下来将development target,base sdk以及模拟器的版本都改成6.1(注意默认的xcode是没有6.1的sdk的,需要自己另外导入)。然后运行,就会报错:



也就是说tintColor属性在iOS6.1中根本就没有,在编译时候就会出错。这时候如下加上判断语句也是没有用的,照样报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值