iOS 模拟器在 Apple M1 上滚动太快

Jac*_*nig 10 ios ios-simulator flutter apple-silicon apple-m1

我正在运行一个颤振项目,当在模拟器上拖动任何列表或滚动视图时,它滚动的力太大,几乎不可能到达我需要的行。

这仅发生在模拟器中,并且在真实设备上似乎可以正常工作。此外,当我迁移到 Apple M1 MacBook Pro 时,这个问题就开始了。

阻力最小

有任何想法吗?

val*_*ine 35

我遇到了类似的问题,但就我而言,问题与速度无关,而是与速度有关。

具体来说,如果您强制您的 iOS 模拟器在 Rosetta 下运行,您将看到它按预期工作。不知道为什么,但这就是我所经历的。始终可重现 1.22.5(稳定)。

要在 Rosetta 中运行,请右键单击 Xcode 并选择“显示包内容”,从那里导航到“内容 > 开发人员 > 应用程序”,在那里您将找到模拟器应用程序。如果您右键单击它并选择“显示信息”,您将找到一个使用 Rosetta 运行它的选项。

  • 我在 M1 Pro 上使用 Xcode 13.1,但仍然遇到此问题。强制模拟器在 Rosetta 下运行修复了这个问题。M1 已经上市一年多了,不知道为什么我们仍在处理此类错误。 (23认同)
  • 滚动错误仍然存​​在,并且无法再使用 Rosetta 运行模拟器应用程序,并且在官方 Flutter 存储库上提交的问题已被关闭。XCode 版本是 14.0。 (14认同)
  • 仍然存在滚动错误。XCode 版本 14.2。 (9认同)
  • 这有效!但是,我会删除有关它与 Xcode 12.5.1 一起使用的更新。我现在是 13.2,但还是坏了。 (8认同)
  • 我正在使用 Xcode 13.2.1,但它不能开箱即用。然而,Rosetta 修复程序有效。知道为什么问题仍然存在吗? (7认同)

Tek*_*Fun 27

【2023解决方案】

只需使用 x86_64 模拟器即可。关闭模拟器后,在终端上执行以下步骤

1. Get list device ID:
xcrun simctl list

2. Launch:
xcrun simctl boot [deviceID] --arch=x86_64

Ex:
xcrun simctl boot 2BDDB447-AA8D-4BD4-8BFA-2F54363C2235 --arch=x86_64
Run Code Online (Sandbox Code Playgroud)

有时模拟器不会自动启动,因此您需要在第 2 步后手动打开它

  • 这行得通,运行了很长时间,但正在运行。不是一个完美的解决方案,而是一个解决方案。 (5认同)
  • 最后,这有效! (3认同)
  • 这有效!这应该是公认的答案。 (2认同)

Jus*_*tin 10

[2022 更新] 接受的答案不再有效,因为 iOS 模拟器的“获取信息”对话框中没有与 Rotessa 一起运行的选项。相反,您可以使用以下命令从终端启动 iOS 模拟器:

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

  • 这个答案对我不起作用。我正在使用 M1 MbPro,XCode 14.2 (9认同)
  • 得到完全相同的结果。仍然快速滚动。 (2认同)