您的位置:首页 > 移动开发 > IOS开发

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

2016-11-30 15:19 288 查看
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各个版本的市场占有率统计:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Xcode8-1 iOS7-0