MacBook M1开发Flutter遇到的问题
前言
前一台MacBook已经战了6年,去年准备换16寸,因为各种原因一直等到了今年,又因为得知ARM架构的MacBook要上了,等等党永不为奴,终于等到了它。
我买的是MacBook Pro M1 16+512的配置,用了几天觉得等M2才是真香,M1离真香还差点意思,尤其是系统bug,太致命,开发工具目前原生适配的也不多,用起来提升没那么明显。
搭建flutter环境
这个不细说,官网已经很详细了:https://flutterchina.club/setup-macos/
M1开发Flutter靠谱吗?
整体还行,但是目前来说,因为适配的问题,想模拟器运行都要调试一番,iPhone和Android都是。不过M1可以直接把自己的udid
注册到开发者账号中去,原生直接运行iPhone App,这个确实骚,但是为什么我的MacBook注册后设备类型是ipod
?
目前M1上iphone模拟器运行flutter app可能遇到一些问题,主要是三方依赖的插件很多没适配arm64,需要大量调试(参考:https://stackoverflow.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios)
android模拟器只有个测试版,问题一大堆,也基本不可用,所以现在这个阶段想在M1上开发app的话,调试需要真机走起。(模拟器查看:https://androidstudio.googleblog.com/2020/12/android-emulator-apple-silicon-preview.html)
偶尔会有一些无法理解的错误,命令行flutter clean
可能有惊喜。
常见错误
webview_plugin ‘Flutter/Flutter.h’ file not found
旧项目迁移到M1上后,可能会出现这个错误 解决方案:
$ rm ios/Flutter/Flutter.podspec
$ flutter clean
vm-service: Error: Unhandled exception
运行时报这个错,应该是你在运行小猫咪 解决方案:
export NO_PROXY=localhost,127.0.0.1
source ~/.zshrc