前言

前一台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