Skip to content

Developing with Flutter on Apple Silicon

Jenn Magder edited this page May 4, 2022 · 29 revisions

Flutter includes support for developing on macOS devices with Apple Silicon (M1) hardware. This wiki page documents ongoing work relating to the Flutter toolchain providing native support for this processor architecture.

We recommend using Flutter 2.5 or later on Apple Silicon machines. You must also have the Rosetta 2 translation environment available, which you can install manually by running:

$ sudo softwareupdate --install-rosetta --agree-to-license

If you see CocoaPods crashes related to ffi, try reinstalling the Ruby gem with the --enable-libffi-alloc flag:

sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc

Using macOS on Apple Silicon to develop Flutter apps (host)

You can use Apple Silicon-based Mac devices as a developer workstation (host) for building Flutter apps. While some tools still use Rosetta, Apple Silicon-based Macs are fully supported as a host.

As we build more Apple Silicon support into the tooling, and depending on your tolerance for risk, you may want to experiment with the beta channel. (This was previously also available on the dev channel, but it has been retired.)

Issue 60118 tracks the full set of work to support this feature.

Developing Flutter apps for macOS running on Apple Silicon (target)

Flutter has support for building macOS apps, with beta snapshots available in the stable channel and ongoing development taking place.

Compiled Intel macOS binaries work on Apple Silicon without change thanks to the Rosetta 2 translation environment, which converts x86_64 instructions to ARM64 equivalents.

We also plan to offer support for compilation directly to ARM64, as well as universal binaries that combine x86_64 and ARM64 assets. Issue 60113 is the umbrella bug tracking this work.

Filing Issues

If you experience a problem relating to using Flutter on Apple Silicon hardware, please file an issue on GitHub with specific repro steps and information about your hardware and software configuration (paste the results of flutter doctor -v). Thank you!

Flutter Wiki

Process

Framework repo

The Flutter CLI Tool

Engine repo

Packages repo

Engineering Productivity

User documentation

Clone this wiki locally