我一直在开发iOS应用程序已经有一段时间了,我知道iOS模拟器运行代码的速度比硬件代码快 - 即实际设备。我在Apple的模拟器中的测试和调试文档站点中阅读了以下内容。





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


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


然而,我不明白的是Apple包含这么多模拟器的原因对于具有相同分辨率的设备。请参阅下图,显示iPhone 6,6s和7 - 所有这些都具有相同的屏幕尺寸和分辨率。


 

鉴于模拟器以“全速”运行(无论它实际模拟哪些设备),拥有所有这些模拟器(每个模拟器占用几GB)的重点是什么存储)?


提前致谢,


Loic

答案 0 :(得分:1)
每种设备类型都会尝试模拟相应的物理设备,包括强制触摸等功能。如果您的触控板支持强制触摸,则模拟器会将其转换为模拟设备上的生效,但仅适用于支持它的设备类型。还有图形类和内存类可以启用或禁用某些行为。 (理论上,与iPad Pro模拟器相比,Jetsam应该更加积极地逐出iPhone 5模拟器上的后台应用程序。)
您可以使用xcrun simctl
创建或删除设备,包括默认设备,但Xcode更新可能会重新创建默认设备。
如果您需要不同的照片库,权限设置(授予您的应用程序权限以在一个中使用位置并在另一个中拒绝它),您还可以为同一设备类型创建多个模拟器实例,等等。