当尝试在 iOS 模拟器 iPhone 14(所有变体)上使用预览或运行我的应用程序时,模拟器永远不会启动,只会保持启动/加载状态,而同一应用程序的预览永远不会显示,只会继续显示活动指标。
我尝试重新启动 Xcode 14.2 并清除派生数据文件夹。 我尝试在 iPhone 13 Pro 模拟器上运行该应用程序。 我尝试使用 Monterey OS 重新启动我的 Mac(Intel)。
以上均无效。
我找到了解决我的问题的 Medium 文章的链接这里。
如果链接失败,关键步骤如下:
删除这些文件夹中的所有文件:
~/库/缓存
~/库/开发者/CoreSimulator/缓存
~/库/开发者/Xcode/iOS\ DeviceSupport/
此外,对于上述项目,除了我想使用的模拟器之外的所有子文件夹。
~/库/开发者/Xcode/DerivedData/
文章还说,如果将它们全部删除,则需要重新创建模拟器,但我不需要这样做。
完成这些步骤后,一切都完美运行(我确实需要先在模拟器上运行应用程序,然后才能让预览正常工作)。
对我来说只需删除这个文件夹就足够了:
~/库/开发者/CoreSimulator/缓存
这里不需要删除缓存。我预计这只会导致问题稍后再次出现。
我们已确定此问题的几个原因:
dyld_sim 共享缓存无法映射到看门狗计时器内的进程,因为它是最近创建的,并且仍在被系统扫描。删除缓存将暂时解决此问题,但下次创建缓存时您会再次遇到该问题。等待约 2 分钟即可完成扫描。此外,如果您更新到 Xcode 15.3 Beta 2 或更高版本(上周发布),我们现在会避免尝试使用缓存,直到扫描完成。
从模拟器运行时磁盘映像读取时存在性能问题,这可能会导致启动触发看门狗计时器,特别是当 I/O 与生成 dyld 共享缓存的进程竞争时。此性能问题已在 macOS 14.4 Beta 及更高版本中得到解决。
因此,我建议面临此问题的用户更新到 macOS 14.4 Beta 或更高版本以及 Xcode 15.3 Beta 2 或更高版本。如果您仍然遇到此问题,请收集以下 tarball 并将其附加到位于 http://bugreport.apple.com 的报告中: xcrun simctl 诊断 须藤系统诊断
此外,如果可以的话,请通过以下方式启用调试日志记录: 默认写入 com.apple.CoreSimulator DebugLogging -bool YES
(您可以稍后使用默认删除 com.apple.CoreSimulator DebugLogging 删除调试日志记录)
请注意,在过去的 6 个月里,我们收到了有关此问题的多份报告,但分类一直很困难,部分原因是我们尚未获得上述请求的日志记录,而当报告者开始响应请求时,他们脱离有问题的状态(因为它通常会在几分钟内自行解决)。请不要假设其他人正在提供数据。谢谢!