最近一直在做app的iOS 6和7的同时适配工作,所以在此介绍一下系统与设备的兼容问题。

一、Base SDK与Deployment Target

一个项目(Project)可以有多个目标(Target),每个目标可以指定不同的设置(例如支持不同的系统版本,引用不同的Framework等)。项目设置会覆盖默认设置,而每个目标的设置则会覆盖项目设置。在Xcode的项目浏览窗口中点击项目,在TARGETS中选择某个目标,即可在右侧的“Build Settings”中看到默认设置、项目设置、所选目标设置与最终的设置值。

其中Base SDK指的是用哪个版本的SDK来编译、链接项目源代码。一般来讲Base SDK选择当前Xcode支持的最高版本的SDK(Latest iOS SDK)来编译链接项目工程,这样就可以获得最新的SDK中提供的新功能。

另一个设置是Deployment Target,它指的是能够支持目标正确运行的最低系统版本。默认情况下,Xcode会将该值设置为Base SDK中指定的值,但可以手动修改该值以支持老的系统和设备。你不可以用低于Deployment Target指定的版本的模拟器或者真机来运行和打包app。

例如,当使用Xcode 5打开某个项目时,Base SDK为7.0,也就是用7.0的SDK来编译链接项目app。如果这个app只想支持iOS 7系统,则Deployment Target可以设置为7.0。如果你的app还想兼容iOS 6或者更早版本,则应把Deployment Target置为要支持的最低的系统版本号。由此可知,Deployment Target一定小于等于Base SDK。

注意,因为此时是用最新的SDK生成app,但却允许在早期版本的系统上运行,所以此时开发者要确认在旧系统上运行app时不能调用那些新的SDK中添加的功能,否则会在运行时出错导致app闪退。下面就介绍一下如何确保app能够在旧的系统上正确运行。

二、适配旧系统时的注意事项

app在旧的系统上运行的过程中,可能会使用系统未提供的常量、变量、C函数、类、类的方法,也可能会调用不存在的Framework中的功能。对于Xcode4.6.3及更早版本,程序可以编译通过,但运行时闪退。Xcode 5则进行了很大改进,如果代码中出现了上述情况,直接给出警告和错误。

IOS 5 6 7适配相关推荐

  1. android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...

    内容提要:这是UI设计系列教程之ios与android ui适配经验畅谈.文章作者介绍了自己将IOS UI转换成Android经验,包括:不要直接转换.了解单位和组件缩放格式.屏幕尺寸DP和像素的换算 ...

  2. iOS 11 及 iPhoneX 适配知识

    一.前言 前段时间 WWDC 大会上苹果推出了 iOS11 系统 和 iPhone X 新机型,相信各个 iOS 团队的开发者都已经在计划新系统和新机型的适配工作了.不得不说,新系统和新机型的发布确实 ...

  3. ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...

    本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...

  4. iOS一套代码适配所有iPhone手机布局实现方案

    iOS一套代码适配所有iPhone手机布局实现方案 本帖主要是讲述一套代码适配所有iPhone手机布局解决方案.要点是了解原理和思想. 多个项目采用了这种布局方式,感觉良好,实际情况还是要看看你们UI ...

  5. iOS 关于全面屏适配的方案及UI在不同尺寸下适配方案

    前言 全面屏刚出时,网上有说反人类.但过去这么久了,趋于技术的进步或看久了,大家也都慢慢习惯了(只是笔者还是买不起全面屏).官方适配中文版文档也出来了. 图源:( baijiahao.baidu.co ...

  6. 16、iOS屏幕等比例适配

    16.iOS屏幕等比例适配 1.基础概念 1.1 分辨率相关的概念 如果使用物理像素 如果使用点 1.2 1x.2x.3x的含义 2.适配的过程 2.1 从UI到开发 2.2 适配规则 等比缩放 变大 ...

  7. iOS 11 安全区域适配总结

    2019独角兽企业重金招聘Python工程师标准>>> 导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结.内容包括五个部分 ...

  8. (0106)iOS开发之iOS13 适配

    UIWebview 将被废止 UITextField 的私有属性 _placeholderLabel [self.textField setValue:self.placeholderColor fo ...

  9. iOS多设备分辨率适配

    iPhone 6 / 6 Plus 出现后,如何改进工作流以实现一份设计稿支持多个尺寸? 移动app开发中多种设备尺寸适配问题,过去只属于Android阵营的头疼事儿,只是很多设计师选择性地忽视and ...

  10. iOS开发技巧 - Size Class与iOS 8多屏幕适配(一)

    0. 背景: 在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题. 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕 ...

最新文章

  1. [翻译] CSStickyHeaderFlowLayout
  2. python处理3000个excel-Python处理Excel数据的坑,一文让你不用重复犯错
  3. MyBatis多对多关联查询示例——MyBatis学习笔记之十八
  4. c语言实现stack的算法(附完整源码)
  5. 【数据结构与算法】之深入解析“买卖股票的最好时机含手续费”的求解思路与算法示例
  6. 8位移位寄存器和优先编码器
  7. 解决C# 7.2中的结构体性能问题
  8. 最小可行产品是什么_无论如何,“最小可行产品”到底意味着什么?
  9. mysql 引擎 校对,MySQL 字符集和校对
  10. 可在单片机上运行的简易图形库
  11. iPhone 12 Pro系列终于不怕弯了!
  12. SQL Server 触发器 详细讲解
  13. JSP九大内置对象的作用和用法
  14. 群晖linux怎么进入u盘,超级简单,群晖系统的U盘制作和安装指导,实现家庭云...
  15. 在树莓派下使用dlib及resnet的人脸检测及识别
  16. 理论计算机科学 维基百科,多元智能理论(维基百科的比较全面的介绍).pdf
  17. linux读取触摸屏事件数据
  18. (九)ThunderbirdMail配置QQ邮件服务
  19. 塞班系统服务器,在Symbian系统邮件应用程序中使用IMAP服务
  20. 百度地图API入门1-申请百度API key

热门文章

  1. HTML5中a袁术的属性,袁术使用方法,技巧,配合全攻略
  2. Qt使用GDI绘图(仅Windows平台)
  3. 校园无人送货小车 方案设计
  4. 平面设计和ui设计的区别:ui设计前景怎样
  5. 京东城市时空数据引擎JUST亮相中国数据库技术大会
  6. 【自撰】Windows | Linux 安装 RabbitMQ
  7. u盘中文件不能显示解决方法
  8. 家用计算机配置单,家用电脑买什么配置好 3款家用电脑配置推荐
  9. 10. 100ASK_V853-PRO开发板支持录音和播放音频
  10. AI不小心画版变透明了如何恢复