post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64 i386"
end
end
end
7条答案
按热度按时间bvk5enib1#
我遇到过类似的问题,但在我的情况下,问题与*速度无关,而是不同的东西。
具体来说,如果你强制你的iOS模拟器在Rosetta下运行,你会看到它像预期的那样工作。不知道为什么,但这就是我所经历的。总是可以在1.22.5(稳定)下重现。
要在Rosetta中运行,右键单击Xcode并选择“显示包内容”,从那里您导航到“内容〉开发人员〉应用程序”,在那里您会找到模拟器应用程序。如果您右键单击它并选择“获取信息”,您会发现一个使用Rosetta运行它的选项。
**更新14/9/2021:**Xcode 12.5.1不再需要上述解决方案。滚动功能开箱即用。
g52tjvyc2#
[2022 update]接受的答案不再起作用,因为iOS模拟器的“获取信息”对话框中没有与Rotessa一起运行的选项。相反,您可以使用以下命令从终端启动iOS模拟器:
3qpi33ja3#
在我看来,这个问题在XCode 14/iOS 16中突然又出现了。在ios/Podfile中修复了它
删除arm 64,因此将行更改为:
b09cbbtk4#
一旦你在瞄准arm64的时候运行这个应用程序,Jank就完全消失了。
如果您的依赖项包含本地二进制文件,请不要这样做一个这样的例子是google_maps_flutter,他们不提供arm64二进制文件,因此,尝试在M1上本地编译项目将导致错误。
在xcode中打开应用程序的
ios
文件夹,单击Runner
并编辑Build Settings
,使Architectures
指向arm64
,并且Excluded Architectures
不包含arm64
Runner
onIntel
with jank:https://i.imgur.com/P4pswQn.mp4Runner
onarm64
without jank:https://i.imgur.com/zqGIe2L.mp49cbw7uwe5#
只需要使用x86_64模拟器。关闭模拟器后在终端上执行以下步骤
有时模拟器不会自动启动,所以你需要在第2步后手动打开它
lvmkulzt6#
如果你正在使用AndroidStudio,试试这个。
1.找到“Flutter Performance”并打开。
1.启用慢速动画
模拟器滚动会慢得多。
mf98qq947#
这可能是因为仿真器由于使用ARM而更快。
是不是唯一一个加速动画?也许还有更多。如果是,设置
timeDilatation
。