如何解决iOS 11.3(15E216) iPhone真机编译找不到支持文件问题?
解决Xcode 9.3无法识别iOS 11.3(15E216)真机的问题
我之前也碰到过这种小版本号不匹配导致的设备支持文件缺失问题,下面是几个亲测有效的解决思路:
方法一:复制并重命名现有支持文件(最常用)
苹果的设备支持文件很多时候对同大版本的小版本号兼容,你可以直接用现有的15E217文件来“冒充”15E216:
- 打开Xcode的设备支持目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport - 找到名为
11.3 (15E217)的文件夹,复制一份 - 将复制后的文件夹重命名为
11.3 (15E216) - 完全退出Xcode(包括后台进程),重新打开后连接你的iPhone 6试试
方法二:修改现有支持文件的Info.plist
如果重命名文件夹没生效,可以直接修改现有支持文件的配置,添加15E216版本:
- 打开
11.3 (15E217)文件夹里的Info.plist文件 - 找到
SupportedProductVersions这个数组项,添加一个新的字符串元素15E216 - 保存文件后,重启Xcode再连接设备
方法三:用命令行工具强制编译安装
如果上面的GUI方法都不行,可以试试用Xcode命令行工具来绕开设备支持检查:
- 打开终端,切换到你的项目根目录:
cd /path/to/your/project - 编译项目(替换
YourProject.xcodeproj和YourScheme为你自己的项目名和scheme名):xcodebuild -project YourProject.xcodeproj -scheme YourScheme -destination 'platform=iOS,name=你的iPhone 6名称' build - 找到编译生成的
.app文件(通常在DerivedData目录下),然后用xcrun命令安装到设备(替换设备UDID和app文件路径):
你可以在Xcode的xcrun simctl install 设备UDID /path/to/your/app.appWindow > Devices and Simulators里找到设备的UDID。
注意事项
- 前两种方法是针对Xcode识别设备的常见trick,大部分小版本号差异都能解决
- 修改文件前最好备份原文件,避免操作失误导致Xcode出问题
- 因为iOS 11.3是比较旧的版本,苹果大概率不会再更新Xcode 9.3的支持文件,所以优先尝试前两种方法
内容的提问来源于stack exchange,提问作者5narkHunt3r
相关产品推荐
相关产品推荐

