如何判断特定iOS模拟器对应的iOS DeviceSupport文件夹?
嘿,先澄清个小误区:~/Library/Developer/Xcode/iOS DeviceSupport其实是用来存放真机连接Xcode时所需的支持文件,而iOS模拟器的运行时文件是存在~/Library/Developer/CoreSimulator/Profiles/Runtimes目录下的。不过既然你提到这里有4个iOS 11.2的文件夹,大概率是你之前连接过不同型号的iOS 11.2真机,或者Xcode自动下载了不同设备的适配包。
下面给你几个实用方法,帮你找到需要保留的文件夹:
通过Xcode设备管理器匹配设备信息
打开Xcode,点击顶部菜单的Window > Devices and Simulators,切换到Devices标签(别选Simulators哦)。这里会列出你曾经连接过的所有真机,每个设备的系统版本如果是iOS 11.2,对应的设备型号(比如iPhone 8、iPhone X)会和DeviceSupport里的文件夹对应——这些文件夹的命名格式一般是11.2 (15C107),括号里的是系统build号。你可以右键点击某个设备,选择Show Device Logs,在日志里能找到对应的build号,然后去DeviceSupport里匹配同名文件夹就行。查看文件夹内的Info.plist文件
每个DeviceSupport文件夹里都有个Info.plist文件,右键用文本编辑器打开它,搜索ProductType字段,这个字段的值对应具体设备型号(比如iPhone10,1对应iPhone 8,iPhone10,3对应iPhone X)。如果你记得自己常用的真机型号,直接匹配就行;要是记不清,查一下ProductType和设备型号的对应表就能搞定。懒人方法:直接删除后让Xcode自动下载
其实最省心的方式是:直接删掉所有iOS 11.2的DeviceSupport文件夹,等下次你连接对应的iOS 11.2真机时,Xcode会自动重新下载适配该设备的支持文件。这个操作完全安全,不会影响你的项目或模拟器使用,只是第一次连接设备时需要等几分钟下载而已。
内容的提问来源于stack exchange,提问作者Liron Yahdav

