You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Xcode 11 Simulator自定义模拟设备分辨率方法咨询

好问题!在Xcode 11及后续版本中,模拟器菜单确实只有预定义的Apple设备型号可选,但完全可以通过两种方式创建自定义分辨率的模拟设备,亲测有效(毕竟我自己也经常需要调试特殊分辨率的场景):

方法一:Xcode设备管理+手动修改配置文件

这个方法可视化操作更多,适合不太熟悉命令行的同学:

  • 打开Xcode,点击顶部菜单栏的Window > Devices and Simulators
  • 切换到Simulators标签页,点击左下角的+号,新建一个自定义模拟器
  • 在弹窗里随便选一个基础设备型号(比如iPhone 11),给它起个辨识度高的名字(比如「自定义分辨率测试机」),然后点Create
  • 选中刚创建的模拟器,在右侧面板找到它的UUID(一串字母数字组合),记下来
  • 打开Finder,按Command+Shift+G,输入路径:~/Library/Developer/CoreSimulator/Devices/[刚才的UUID]/data/Library/Preferences/,替换掉[刚才的UUID]后回车
  • 在这个文件夹里找到类似com.apple.CoreSimulator.SimDeviceType.iPhone-11.plist的文件(文件名里的设备型号就是你刚才选的基础型号),用Xcode或者plist编辑工具打开它
  • 找到widthheight字段,修改成你需要的像素分辨率(比如改成1200x2000)
  • 确保模拟器处于关闭状态,然后重新启动这个自定义设备,就能看到分辨率已经变成你设置的数值了
方法二:用命令行工具快速配置

如果习惯用命令行,这个方法更高效:

  • 先创建一个自定义模拟器,替换命令里的设备型号和iOS版本为你需要的(Xcode11对应的iOS版本一般是iOS13):
    xcrun simctl create "自定义分辨率设备" com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-13-0
    
  • 列出所有模拟器,找到刚创建设备的UUID:
    xcrun simctl list devices
    
  • 修改分辨率配置,把[UUID]替换成你找到的UUID,10802340换成你想要的宽高:
    defaults write ~/Library/Developer/CoreSimulator/Devices/[UUID]/data/Library/Preferences/com.apple.CoreSimulator.SimDeviceType.iPhone-11.plist width 1080
    defaults write ~/Library/Developer/CoreSimulator/Devices/[UUID]/data/Library/Preferences/com.apple.CoreSimulator.SimDeviceType.iPhone-11.plist height 2340
    
  • 重启模拟器生效:
    xcrun simctl shutdown [UUID]
    xcrun simctl boot [UUID]
    

注意事项

  • 修改配置前一定要确保模拟器处于关闭状态,否则修改的内容会被模拟器覆盖
  • Xcode版本更新后,配置文件的路径或字段可能有细微变化,但Xcode11及以上版本这个方法是稳定可用的
  • 你之前找到的旧方法过时,主要是因为Xcode后续版本调整了模拟器的配置存储结构,所以那些旧路径和操作方式不再生效

内容的提问来源于stack exchange,提问作者Hykilpikonna

火山引擎 最新活动