Running Flutter Desktop on MacOS
Flutter Desktop used to be a separate experimental project, and it was moved to the flutter GitHub repository recently as it has gotten more mature.
The doc says that it is easiest to run a Flutter desktop app on MacOS, but that it still requires some tinkering if you want to compile and run natively on Windows and Linux.
The official doc (see screenshot below. link here) actually describes the whole process, and yet, since I wasn't reading very carefully, I missed some important information. So take a look at this, then scroll down to see the commands I actually had to run.
The point I had missed was "you must be on the master branch". I was on the beta branch, and so I assumed that I would automatically get the feature. I was wrong!
% flutter config --enable-macos-desktop
Setting "enable-macos-desktop" value to "true".
You may need to restart any open editors for them to read new settings.
% flutter config
...
Settings:
enable-web: true
enable-macos-desktop: true (Unavailable)
It's only after I switched to the master branch that macos-desktop was made available.
% flutter channel master
Switching to flutter channel 'master'...
git: Switched to a new branch 'master'
git: Branch 'master' set up to track remote branch 'master' from 'origin'.
% flutter config
Downloading Dart SDK from Flutter engine eb139936eb2c17694aba3fd922adfe8a85c5e8df...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 193M 100 193M 0 0 37.4M 0 0:00:05 0:00:05 --:--:-- 40.6M
Building flutter tool...
Configure Flutter settings.
...
Settings:
enable-web: true
enable-macos-desktop: true
Then I created an app with flutter create app
, and ran it:
% flutter run
More than one device connected; please specify a device with the '-d <deviceId>' flag, or use '-d all' to act on all devices.
macOS • macOS • darwin-x64 • Mac OS X 10.15.2 19C57
Chrome • chrome • web-javascript • Google Chrome 79.0.3945.88
Web Server • web-server • web-javascript • Flutter Tools
% flutter run -d macOS
Running "flutter pub get" in app... 0.4s
Launching lib/main.dart on macOS in debug mode...
Hurray!