IOS 5 6 7适配
最近一直在做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适配相关推荐
- android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...
内容提要:这是UI设计系列教程之ios与android ui适配经验畅谈.文章作者介绍了自己将IOS UI转换成Android经验,包括:不要直接转换.了解单位和组件缩放格式.屏幕尺寸DP和像素的换算 ...
- iOS 11 及 iPhoneX 适配知识
一.前言 前段时间 WWDC 大会上苹果推出了 iOS11 系统 和 iPhone X 新机型,相信各个 iOS 团队的开发者都已经在计划新系统和新机型的适配工作了.不得不说,新系统和新机型的发布确实 ...
- ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...
本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...
- iOS一套代码适配所有iPhone手机布局实现方案
iOS一套代码适配所有iPhone手机布局实现方案 本帖主要是讲述一套代码适配所有iPhone手机布局解决方案.要点是了解原理和思想. 多个项目采用了这种布局方式,感觉良好,实际情况还是要看看你们UI ...
- iOS 关于全面屏适配的方案及UI在不同尺寸下适配方案
前言 全面屏刚出时,网上有说反人类.但过去这么久了,趋于技术的进步或看久了,大家也都慢慢习惯了(只是笔者还是买不起全面屏).官方适配中文版文档也出来了. 图源:( baijiahao.baidu.co ...
- 16、iOS屏幕等比例适配
16.iOS屏幕等比例适配 1.基础概念 1.1 分辨率相关的概念 如果使用物理像素 如果使用点 1.2 1x.2x.3x的含义 2.适配的过程 2.1 从UI到开发 2.2 适配规则 等比缩放 变大 ...
- iOS 11 安全区域适配总结
2019独角兽企业重金招聘Python工程师标准>>> 导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结.内容包括五个部分 ...
- (0106)iOS开发之iOS13 适配
UIWebview 将被废止 UITextField 的私有属性 _placeholderLabel [self.textField setValue:self.placeholderColor fo ...
- iOS多设备分辨率适配
iPhone 6 / 6 Plus 出现后,如何改进工作流以实现一份设计稿支持多个尺寸? 移动app开发中多种设备尺寸适配问题,过去只属于Android阵营的头疼事儿,只是很多设计师选择性地忽视and ...
- iOS开发技巧 - Size Class与iOS 8多屏幕适配(一)
0. 背景: 在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题. 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕 ...
最新文章
- [翻译] CSStickyHeaderFlowLayout
- python处理3000个excel-Python处理Excel数据的坑,一文让你不用重复犯错
- MyBatis多对多关联查询示例——MyBatis学习笔记之十八
- c语言实现stack的算法(附完整源码)
- 【数据结构与算法】之深入解析“买卖股票的最好时机含手续费”的求解思路与算法示例
- 8位移位寄存器和优先编码器
- 解决C# 7.2中的结构体性能问题
- 最小可行产品是什么_无论如何,“最小可行产品”到底意味着什么?
- mysql 引擎 校对,MySQL 字符集和校对
- 可在单片机上运行的简易图形库
- iPhone 12 Pro系列终于不怕弯了!
- SQL Server 触发器 详细讲解
- JSP九大内置对象的作用和用法
- 群晖linux怎么进入u盘,超级简单,群晖系统的U盘制作和安装指导,实现家庭云...
- 在树莓派下使用dlib及resnet的人脸检测及识别
- 理论计算机科学 维基百科,多元智能理论(维基百科的比较全面的介绍).pdf
- linux读取触摸屏事件数据
- (九)ThunderbirdMail配置QQ邮件服务
- 塞班系统服务器,在Symbian系统邮件应用程序中使用IMAP服务
- 百度地图API入门1-申请百度API key