打开 Rosetta 的 xcode 14 模拟器来修复滚动

Dag*_*uan 11 ios ios-simulator xcode14

我刚刚更新到 xcode 14,模拟器似乎无法与 Rosetta 一起运行来修复滚动滞后。有人有可以帮助我的解决方案吗?谢谢

这张照片无法打开,Rosetta 在这里

更新:感谢大家的帮助我们有 2 个解决方案:

  1. (推荐)James Risner 和 Manu 的解决方案:通过终端强制打开模拟器。首先你需要强制退出模拟器,然后通过终端打开它,使用模拟器时保持终端。
  2. Guillaume S 的解决方案:为 Xcode.app、Simulator.app、Simulator 的内容文件和 Info.plist 添加新的权限 admin/user。然后,按照 Guillaume S 的回答

Xcode 14.1 更新: 这些解决方案不再有效。所以现在不要更新,希望苹果能尽快解决这个问题

Man*_*anu 14

Xcode 14.0 的解决方案(不适用于 Xcode 14.1 和 14.2)

打开终端并输入:

arch -x86_64 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Run Code Online (Sandbox Code Playgroud)

这迫使使用Rosetta。

  • Xcode 14.2 祝你好运 (5认同)

Jer*_*oia 5

不支持也不应该需要在 Rosetta 下启动 Simulator.app。我不知道有任何问题需要这样做。

您可能想要在 Rosetta 中启动设备或在 Rosetta 中生成一些进程,例如:

xcrun simctl boot <UDID> --arch=x86_64
Run Code Online (Sandbox Code Playgroud)

或者

xcrun simctl spawn <UDID> --arch=x86_64 ...
Run Code Online (Sandbox Code Playgroud)

此外,如果您的应用程序仅支持 x86_64,则它将在以 arm64 启动的 sim 中正常启动。

注意:编辑 Xcode.app 中的任何文件都会破坏其签名,这意味着更新将无法应用,这将触发 Xcode.app 的完整下载(在首次下载并未能应用增量更新之后)。如果您确实需要以 x86_64 启动 Simulator.app,请使用:

arch -x86_64 /path/to/Xcode.app/Contents/Developer/Applications/Simulator.app/MacOS/Simulator
Run Code Online (Sandbox Code Playgroud)

或者甚至在 ~/.zshrc 中创建一个别名,这样你就可以运行sim

alias sim='arch -x86_64 $(xcode-select -p)/Applications/Simulator.app/Contents/MacOS/Simulator'
Run Code Online (Sandbox Code Playgroud)

并在http://feedback.apple.com上提交雷达报告,说明您为何需要这样做。

后续:感谢在我发布这篇文章后提出有关 Simulator.app 作为 arm64 本机运行的 HID 问题的雷达的人。该问题已在 Xcode 14.1 中得到修复。

  • XCode 14.3.1 上问题仍然存在 (3认同)
  • 是的你是对的。关于您的评论“我不知道有任何问题需要这样做。” 您应该研究“Mac Silicon M1 反应本机 iOS 模拟器滚动滞后惯性”,您会发现很多人都遇到了这个问题,而在使用 Rosetta 运行模拟器时不会出现此问题。 (2认同)
  • 我已向您发送了一个新的雷达文件,其中包含 Xcode 14.1 的诊断文件。它仍然不起作用,甚至使用上面的命令启动也不再起作用。FB11749373(Xcode 14.1模拟器滚动惯性滞后) (2认同)
  • 另请注意上面 Jo Gro 的评论,引用是:“我遇到的“滚动滞后”是在模拟器中运行 x86_64 应用程序时缺乏滚动动力,通常通过在 Rosetta 中运行模拟器来修复此问题。现在它不起作用所有 x86_64 应用程序中的滚动动量都永久缺失。ARM64 应用程序在 ARM64 模拟器中运行良好,但情况始终如此。” /sf/ask/5159048751/?noredirect=1#comment131026349_73700696 (2认同)
  • 外部申报人和工程师之间有几个级别的筛选。我怀疑这可能是某人的回应,他们没有意识到您正在报告我们认为已修复的版本。我知道有报道称它尚未完全修复,并将进行更多调查。 (2认同)

Jam*_*ner 2

启用此属性列表键LSRequiresNativeExecution构建的应用程序禁止在启动服务中使用 Rosetta。

苹果文档摘录:

...此密钥可防止系统使用 Rosetta 翻译进程在 Apple 芯片上执行通用应用程序的 Intel 部分。

如果将模拟器与 Rosetta 一起使用,请注意。模拟器存在已知问题,例如浮点异常不起作用。因此图形应用程序可能无法正常工作。

您可以使用以下命令强制在 Intel 模式下使用 Rosetta 启动模拟器:

arch -x86_64 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Run Code Online (Sandbox Code Playgroud)

模拟