iOS 模拟器第一次启动需要很长时间

Posted

技术标签:

【中文标题】iOS 模拟器第一次启动需要很长时间【英文标题】:iOS Simulator takes extremely long time to boot first time 【发布时间】:2016-01-06 14:56:23 【问题描述】:

我正在尝试运行 ios 模拟器(Xcode 7.0.1、OS X Yosemite)。但是,我第一次运行模拟器时,启动需要很长时间(80-120 秒),这导致我的自动化测试超时。如果我关闭模拟器并重新启动相同的模拟器,它将在大约 5-8 秒内启动。启动不同的设备会再次导致启动时间过长。

我尝试过重置模拟器的内容和设置,删除并重新下载模拟器,卸载并重新安装Xcode。

这台机器是在 2012 Mac Mini 上运行的 Parallels Desktop VM。虽然我不认为这是资源问题(模拟器在第二次启动时运行良好),但我尝试增加虚拟机的内存和视频内存但没有成功。

【问题讨论】:

80-120 秒对我来说真的很快。 2012年底我的iMac启动模拟器需要5多分钟。现在比安卓模拟器还差。 【参考方案1】:

首次启动时,sim 设备将像真实设备一样进行初始设置。在现代系统上花费 2 分钟是相当长的时间,但并非闻所未闻,尤其是如果您不在 SSD 上。我建议您查看 sim 设备的 system.log 以了解在启动过程中发生了哪些任务,并留意任何可能表明出了什么问题的错误。

【讨论】:

【参考方案2】:

在我的 iMac(2013 年末)上更新到 Xcode 7 后遇到了同样的问题。昨天我通过两个步骤成功解决了它(不幸的是,我不知道哪个确实有帮助):

    我同时安装了 Xcode 6 和 Xcode 7。所以我删除了 Xcode 6 实例。 打开 Xcode 7,转到 Window -> Devices 并删除所有列出的 iOS 模拟器。关闭并重新启动 Xcode。再次转到 Window -> Devices 并仅添加您需要的模拟器(在我的情况下,我添加了 iPhone 6 iOS 8、iPhone 6s iOS 9、iPad Air 2 iOS 9)。您可以稍后根据需要添加更多模拟器。另外,不确定这是否重要,我没有为我添加的模拟器选择配对的 watchOS 设备。

完成这些步骤后,我的模拟器冷启动得到了显着改善——现在冷启动最多需要 30-40 秒。在此之前是 3-4 分钟,第一次调试器附加尝试总是失败。

希望,这对某人有帮助。

【讨论】:

嗨 - 我尝试了 #2,但对我没有任何影响。【参考方案3】:

我尝试在我的 Macbook Air 上运行 iPhone6S 模拟器,但它只是挂在游戏中心登录屏幕上。挂了10分钟。我在模拟器窗口上有 50% 的比例。然后我尝试进一步缩小规模,它立即通过了 GC 登录屏幕。

我的猜测是,我的小 Air 没有时间做任何其他事情,只是在高比例下更新模拟器屏幕,当我缩小比例时,它有时间去操心游戏中心的登录功能。我的模拟器寡妇现在有邮票那么大。 :)

呸。我已经有这个模拟器问题好几个星期了......

【讨论】:

这是一个不同的问题 - 您已经通过了模拟器启动。【参考方案4】:

到目前为止,我的解决方案是在需要模拟器进行自动化之前预启动模拟器。我认为这有点骇人听闻,但它确实完成了工作。

xcrun instruments -w "Simulator Name Here"
sleep 120

这将启动模拟器,然后休眠几分钟,然后继续执行您需要模拟器执行的任何其他操作。

【讨论】:

以上是关于iOS 模拟器第一次启动需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章

第一次从推力执行排序需要太长时间

如何加快编辑器和 android 模拟器之间的通信? [关闭]

Flutter 初始化 gradle 和 Resolving dependencies 需要很长时间

状态栏颜色在ios中需要很长时间才能改变(仅第一次)[重复]

Xcode模拟器simulators安装

指定线程的 std::async 模拟