解决低版本Xcode不支持高版本iOS真机调试的问题
今天在做真机调试的时候,遇到下面的一个问题:
Could not locate device support files.
This iPhone 6s is running iOS 11.1 (15B93), which may not be supported by this version of Xcode.
上面的意思是,在调试前我将我手机的iOS系统 升级到了最新版11.1版本,而我的Xcode9支持的最高版本是11.0的。这也不奇怪,手机肯定都是先推送的,这是苹果一贯的做法。那么遇到上面的问题我们怎么解决呢?
解决办法
1、复制一份旧的SDK,并重新命名为真机测试需要的SDK版本; 具体做法是,找到路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk (提示:要在应用程序中找到Xcode,右键点击 -> 显示包内容,以前Xcode版本的iOS SDK有的保存在系统根目录下)。
复制一份iPhoneOS.sdk,并命名为iPhoneOS11.1.sdk。如下图所示:
2,新增真机调试包及内容 打开路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 。我在CocoaChina上找到了11.1的真机包,链接地址如下: http://www.cocoachina.com/bbs/read.php?tid=1726904。然后我们打开DeviceSupport并复制一份。
具体做法是,创建一个新的真机需要的版本11.1(15B93),然后将从 cocoachina下载的文件拷贝到这个地方即可。
3、修改SDKSettings.plist文件中的版本号
按照/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk 的顺序打开SDKSettings.plist 文件,将里面所有跟版本有关的数字都修改为11.1即可。再次运行就好了。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释