Xcode8.1如何支持iOS8.0以下版本

简介: Xcode8.1如何支持iOS8.0以下版本

Xcode6.0升级到Xcode8.0,Xcode8.0升级到Xcode8.1时会删除它支持的8.0以后的版本配置文件。老项目要兼容iOS8以下也是可以另辟蹊径的。

虽然手机iOS已经到了10.1.1版本,但是人有8%的人在用9.0以前的版本,并且这些早期版本又以7.0、7.1、8.0、8.1、8.2、8.3、8.4版本占绝大多少。

iOS7.0以下版本市场占有率已经低于4%,可以忽略了。iOS7.0以前的版本和现在的版本差异很大,没有必要为了适配它们花费更多精力。所以放弃它们吧!

iOS7.0、iOS7.1对应是的iphone 5s还有余热可以发挥,暂时可以不舍弃它。

现在从Xcode8.0开始,已经不支持8.0以下版本。若你不想放弃7.0、7.1,想支持它就要想些办法支持它了。

现在iMac 10.12.1加强的对系统文件夹下的文件可写控制,想直接修改SDKSettings.plist已经不可以了。

首先我们要找到Xcode是通过什么来兼容iOS版本的,请打开以下路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport,在文件夹中我们能够看到Xcode支持的iOS版本,从8.0开始,唯独没有8.0以下的,所以我们第一步要做的就是把需要支持的iOS版本的配置包放进来,支持iOS7.0以前的版本介绍如何支持iOS7.0,iOS7.1版本:

打开文件夹,找到应用程序,找到Xcode,右击该图标选显示包内容

找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport这个文件夹,从https://pan.baidu.com/s/1minqZJa这个地址下载设备支持包,解压缩,把7.0和7.1文件夹拷贝到该文件夹。

找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs目录你会看到两个子目录iPhoneOS.sdk和iPhoneOS10.1.sdk

然后找到它们下面SDKSettings.plist,分别把它们拉到终端里解析它们的地址,你会发现它们地址完全相同,所以它们是同一个文件。

在这个文件夹里的东西是锁定的,首先右键‘空白部分’,点击显示简介,滑动到最下面,点击小锁打开权限,需要输入管理员密码,接着把所有的权限改为读写,第一步完成,接下来,右键SDKSettings.plist文件夹,和上面同样的操作,打开读写权限,然后双击打开SDKSettings.plist文件。

你会发现它仍旧有可能报错,不能修改。

这个文件本应该可以修改,但是由于权限和引用的问题而不让你修改。那么你来个暴力的,用linux命令直接把它拷贝到桌面上,修改后再拷贝过来不就可以了。

在终端里执行这个命令:cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist /Users/jiaguoshang/Desktop/SDKSettings.plist。

双击打开SDKSettings.plist,添加7.0和7.1版本支持属性,并保存。

在活动监控器里强制退出XCode,在终端里执行这个命令:cp /Users/jiaguoshang/Desktop/SDKSettings.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist。

你可以看到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs的子目录下的两个SDKSettings.plis都变成你刚拷贝的文件了,内容一模一样。

关闭所有Xcode,再打开工程你就可以看到Deployment Target可以选择iOS7.0了。

下面是最近iOS各个版本的市场占有率统计:





目录
相关文章
|
6月前
|
jenkins Unix 持续交付
个人记录jenkins编译ios过程 xcode是9.4.1
个人记录jenkins编译ios过程 xcode是9.4.1
100 2
|
3月前
|
iOS开发 MacOS Perl
解决Xcode运行IOS报错:redefinition of module ‘Firebase‘和could not build module ‘CoreFoundation‘
解决Xcode运行IOS报错:redefinition of module ‘Firebase‘和could not build module ‘CoreFoundation‘
147 4
|
3月前
|
iOS开发 开发者
解决xcode doesn‘t support iphone’s ios 14.6 (18f72)
解决xcode doesn‘t support iphone’s ios 14.6 (18f72)
269 3
|
3月前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
189 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
3月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
143 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
3月前
|
缓存 iOS开发
如何在Xcode删除某个版本的IOS模拟器
如何在Xcode删除某个版本的IOS模拟器
602 1
|
3月前
|
iOS开发
mac不通过Xcode直接打开IOS模拟器
mac不通过Xcode直接打开IOS模拟器
234 2
|
3月前
|
图形学 数据安全/隐私保护 iOS开发
Unity与IOS⭐Xcode打包,上架TestFlight的完整教程
Unity与IOS⭐Xcode打包,上架TestFlight的完整教程
|
5月前
|
iOS开发
技术好文:xcode动态图,ios实现动态图,iosgif,暂停和继续播放
技术好文:xcode动态图,ios实现动态图,iosgif,暂停和继续播放
58 1
|
6月前
|
存储 定位技术 iOS开发
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
108 0