什么';拥有多个(相同分辨率)iOS模拟器的意义何在?

什么';拥有多个(相同分辨率)iOS模拟器的意义何在?,ios,iphone,xcode,ios-simulator,Ios,Iphone,Xcode,Ios Simulator,我开发iOS应用已经有一段时间了,我知道iOS模拟器运行代码的速度比它们的硬件(即实际设备)快。我在模拟器文档网站上阅读了以下关于苹果公司测试和调试的内容 因为模拟器是在Mac上运行的应用程序,所以它可以访问计算机的资源,包括CPU、内存和网络连接。所有这些资源都可能比移动设备上的资源更快。因此,模拟器不是对应用程序性能、内存使用和网络速度的准确测试 我完全理解。我也明白,有多个模拟器来测试不同大小的类/分辨率是很重要的 然而,我不明白的是,为什么苹果会为同样分辨率的设备提供这么多模拟器。请参见

我开发iOS应用已经有一段时间了,我知道iOS模拟器运行代码的速度比它们的硬件(即实际设备)快。我在模拟器文档网站上阅读了以下关于苹果公司测试和调试的内容

因为模拟器是在Mac上运行的应用程序,所以它可以访问计算机的资源,包括CPU、内存和网络连接。所有这些资源都可能比移动设备上的资源更快。因此,模拟器不是对应用程序性能、内存使用和网络速度的准确测试

我完全理解。我也明白,有多个模拟器来测试不同大小的类/分辨率是很重要的

然而,我不明白的是,为什么苹果会为同样分辨率的设备提供这么多模拟器。请参见下图显示的iPhone6、6s和7,它们的屏幕大小和分辨率都相同

假设模拟器以“全速”运行(不管它实际模拟的是什么设备),那么拥有所有这些模拟器(每个模拟器占用几GB的存储空间)有什么意义

提前感谢,


Loic

每种设备类型都试图模拟各自的物理设备,包括强制触摸等功能。如果您的轨迹板支持强制触摸,模拟器将在模拟设备上转换为强制触摸,但仅适用于支持强制触摸的设备类型。还有图形类和内存类等可以启用或禁用某些行为。(理论上,与iPad Pro模拟器相比,Jetsam应该更积极地驱逐iPhone 5模拟器上的后台应用。)

您可以使用
xcrun simctl
创建或删除设备,包括默认设备,尽管Xcode更新可能会重新创建默认设备


如果需要不同的照片库、权限设置(授予应用程序在其中一个位置使用权限,在另一个位置拒绝),您还可以为同一设备类型创建多个模拟器实例,等等。

请记住,如果不使用给定的设备模拟器,它不会占用任何空间。这些设备具有不同的硬件配置。这反映在模拟硬件中。例如,iPhone6模拟器不允许你模拟强制触摸,这是有道理的;谢谢如果你把它作为一个答案,我可以把这个问题标记为已解决。这是有道理的-谢谢。只有一个问题;什么是Jetsam?当应用程序处于后台时,除非出现异常(如播放音频),否则它将被挂起,但系统不一定立即卸载该进程。当前台应用程序需要更多内存时,Jetsam会找到挂起或低优先级的进程,并实际卸载它们。