flutter-ko.dev Open in urlscan Pro
199.36.158.100  Public Scan

URL: https://flutter-ko.dev/get-started/install/macos
Submission: On March 30 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

/search/

<form action="/search/" class="site-header__search form-inline">
  <input class="site-header__searchfield form-control" type="search" name="q" id="q" autocomplete="off" placeholder="Search" aria-label="Search">
</form>

Text Content

Google uses cookies to deliver its services, to personalize ads, and to analyze
traffic. You can adjust your privacy controls anytime in your Google settings.
Learn more.

Okay

menu
    * Get started
      * 1. Install
      * 2. Set up an editor
      * 3. Test drive
      * 4. Write your first app
      * 5. Learn more
        
      * From another platform?
        * Flutter for Android devs
        * Flutter for SwiftUI devs
        * Flutter for UIKit devs
        * Flutter for React Native devs
        * Flutter for web devs
        * Flutter for Xamarin.Forms devs
        * Introduction to declarative UI
      * Dart language overview open_in_new
      * Building a web app
    * Samples & tutorials
      * Flutter Gallery [running app] open_in_new
      * Flutter Gallery [repo] open_in_new
      * Sample apps on GitHub open_in_new
      * Cookbook
      * Codelabs
      * Tutorials
    * Development
      * User interface
        * Introduction to widgets
        * Building layouts
          * Layouts in Flutter
          * Tutorial
          * Creating adaptive and responsive apps
          * Building adaptive apps
          * Understanding constraints
          * Box constraints
        * Adding interactivity
        * Assets and images
        * Material
        * Navigation & routing
          * Navigation in Flutter
          * Deep linking
          * URL strategies
        * Animations
          * Introduction
          * Overview
          * Tutorial
          * Implicit animations
          * Hero animations
          * Staggered animations
        * Advanced UI
          * Actions & shortcuts
          * Keyboard focus system
          * Gestures
          * Shaders
          * Slivers
          * Splash screens
        * Widget catalog
      * Data & backend
        * State management
          * Introduction
          * Think declaratively
          * Ephemeral vs app state
          * Simple app state management
          * Options
        * Networking & http
        * JSON and serialization
        * Firebase
      * Accessibility & internationalization
        * Accessibility
        * Internationalization
      * Platform integration
        * Supported platforms
        * Building desktop apps with Flutter
        * Writing platform-specific code
        * Android
          * C interop
          * Hosting native Android views
          * Android plugin upgrade
          * AndroidX migration
          * Deprecated Splash Screen API Migration
        * iOS
          * Leveraging Apple's system libraries
          * Adding iOS App Clip support
          * C interop
          * Hosting native iOS views
          * iOS debugging
        * Linux
          * Building Linux apps
        * macOS
          * Building macOS apps
          * C interop
        * Web
          * Web FAQ
          * Web renderers
          * Custom app initialization
          * Displaying images on the web
        * Windows
          * Building Windows apps
          * Run loop migration
          * Version information migration
          * Dark mode migration
      * Packages & plugins
        * Background processes
        * Developing packages & plugins
        * Flutter Favorites program
        * Happy paths project
        * Happy paths recommendations
        * Plugins in Flutter tests **NEW**
        * Using packages
        * Package site open_in_new
      * Add Flutter to an existing app
        * Introduction
        * Adding to an Android app
          * Project setup
          * Add a single Flutter screen
          * Add a Flutter Fragment
          * Add a Flutter View
          * Plugin setup
        * Adding to an iOS app
          * Project setup
          * Add a single Flutter screen
        * Debugging & hot reload
        * Loading sequence and performance
        * Multiple Flutter instances
      * Tools & features
        * Android Studio & IntelliJ
        * Visual Studio Code
        * DevTools
          * Overview
          * Install from Android Studio & IntelliJ
          * Install from VS Code
          * Install from command line
          * Flutter inspector
          * Performance view
          * CPU Profiler view
          * Memory view
          * Network view
          * Debugger
          * Logging view
          * App size tool
          * Release notes
        * Flutter SDK
          * Overview
          * Upgrading
          * Releases
          * Breaking changes
          * Release notes
        * Flutter and the pubspec file
        * Hot reload
        * Flutter Fix
        * Code formatting
    * Testing & debugging
      * Debugging tools
      * Debugging apps programmatically
      * Using an OEM debugger
      * Flutter's build modes
      * Common Flutter errors
      * Handling errors
      * Testing
      * Integration testing
      * Migrating from flutter_driver
    * Performance & optimization
      * Overview
      * Performance best practices
      * App size
      * Deferred components
      * Rendering performance
      * Performance profiling
      * Shader compilation jank
      * Performance metrics
      * Performance FAQ
      * Appendix
    * Deployment
      * Obfuscating Dart code
      * Creating flavors for Flutter
      * Build and release an Android app
      * Build and release an iOS app
      * Build and release a macOS app
      * Build and release a Linux app
      * Build and release a Windows app
      * Build and release a web app
      * Continuous deployment
    * Resources
      * Architectural overview
      * Books
      * Compatibility policy
      * Contributing to Flutter open_in_new
      * Creating useful bug reports
      * Dart resources
      * Design documents
      * FAQ
      * Casual Games Toolkit
      * Google Fonts package open_in_new
      * Inside Flutter
      * Flutter vs. Swift Concurrency
      * Official brand assets open_in_new
      * Platform adaptations
      * Security false positives **NEW**
      * Videos and online courses
    * Reference
      * Who is Dash?
      * Widget index
      * API reference open_in_new
      * flutter CLI reference
      * Package site open_in_new

 * Multi-Platform
   Mobile Web Desktop Embedded
 * Development
   Learn Flutter Favorites Packages
 * Ecosystem
   Community Events Monetization
 * Showcase
 * Docs
   What's new Editor support Hot reload Profiling Install Flutter DevTools
   Cookbook Tutorials



Get started
Lots has been happening! Check out what's new in Flutter 3.7, watch videos from
Flutter Forward, and learn what's next for Flutter!
 * Get started
   * 1. Install
   * 2. Set up an editor
   * 3. Test drive
   * 4. Write your first app
   * 5. Learn more
     
   * From another platform?
     * Flutter for Android devs
     * Flutter for SwiftUI devs
     * Flutter for UIKit devs
     * Flutter for React Native devs
     * Flutter for web devs
     * Flutter for Xamarin.Forms devs
     * Introduction to declarative UI
   * Dart language overview open_in_new
   * Building a web app
 * Samples & tutorials
   * Flutter Gallery [running app] open_in_new
   * Flutter Gallery [repo] open_in_new
   * Sample apps on GitHub open_in_new
   * Cookbook
   * Codelabs
   * Tutorials
 * Development
   * User interface
     * Introduction to widgets
     * Building layouts
       * Layouts in Flutter
       * Tutorial
       * Creating adaptive and responsive apps
       * Building adaptive apps
       * Understanding constraints
       * Box constraints
     * Adding interactivity
     * Assets and images
     * Material
     * Navigation & routing
       * Navigation in Flutter
       * Deep linking
       * URL strategies
     * Animations
       * Introduction
       * Overview
       * Tutorial
       * Implicit animations
       * Hero animations
       * Staggered animations
     * Advanced UI
       * Actions & shortcuts
       * Keyboard focus system
       * Gestures
       * Shaders
       * Slivers
       * Splash screens
     * Widget catalog
   * Data & backend
     * State management
       * Introduction
       * Think declaratively
       * Ephemeral vs app state
       * Simple app state management
       * Options
     * Networking & http
     * JSON and serialization
     * Firebase
   * Accessibility & internationalization
     * Accessibility
     * Internationalization
   * Platform integration
     * Supported platforms
     * Building desktop apps with Flutter
     * Writing platform-specific code
     * Android
       * C interop
       * Hosting native Android views
       * Android plugin upgrade
       * AndroidX migration
       * Deprecated Splash Screen API Migration
     * iOS
       * Leveraging Apple's system libraries
       * Adding iOS App Clip support
       * C interop
       * Hosting native iOS views
       * iOS debugging
     * Linux
       * Building Linux apps
     * macOS
       * Building macOS apps
       * C interop
     * Web
       * Web FAQ
       * Web renderers
       * Custom app initialization
       * Displaying images on the web
     * Windows
       * Building Windows apps
       * Run loop migration
       * Version information migration
       * Dark mode migration
   * Packages & plugins
     * Background processes
     * Developing packages & plugins
     * Flutter Favorites program
     * Happy paths project
     * Happy paths recommendations
     * Plugins in Flutter tests **NEW**
     * Using packages
     * Package site open_in_new
   * Add Flutter to an existing app
     * Introduction
     * Adding to an Android app
       * Project setup
       * Add a single Flutter screen
       * Add a Flutter Fragment
       * Add a Flutter View
       * Plugin setup
     * Adding to an iOS app
       * Project setup
       * Add a single Flutter screen
     * Debugging & hot reload
     * Loading sequence and performance
     * Multiple Flutter instances
   * Tools & features
     * Android Studio & IntelliJ
     * Visual Studio Code
     * DevTools
       * Overview
       * Install from Android Studio & IntelliJ
       * Install from VS Code
       * Install from command line
       * Flutter inspector
       * Performance view
       * CPU Profiler view
       * Memory view
       * Network view
       * Debugger
       * Logging view
       * App size tool
       * Release notes
     * Flutter SDK
       * Overview
       * Upgrading
       * Releases
       * Breaking changes
       * Release notes
     * Flutter and the pubspec file
     * Hot reload
     * Flutter Fix
     * Code formatting
 * Testing & debugging
   * Debugging tools
   * Debugging apps programmatically
   * Using an OEM debugger
   * Flutter's build modes
   * Common Flutter errors
   * Handling errors
   * Testing
   * Integration testing
   * Migrating from flutter_driver
 * Performance & optimization
   * Overview
   * Performance best practices
   * App size
   * Deferred components
   * Rendering performance
   * Performance profiling
   * Shader compilation jank
   * Performance metrics
   * Performance FAQ
   * Appendix
 * Deployment
   * Obfuscating Dart code
   * Creating flavors for Flutter
   * Build and release an Android app
   * Build and release an iOS app
   * Build and release a macOS app
   * Build and release a Linux app
   * Build and release a Windows app
   * Build and release a web app
   * Continuous deployment
 * Resources
   * Architectural overview
   * Books
   * Compatibility policy
   * Contributing to Flutter open_in_new
   * Creating useful bug reports
   * Dart resources
   * Design documents
   * FAQ
   * Casual Games Toolkit
   * Google Fonts package open_in_new
   * Inside Flutter
   * Flutter vs. Swift Concurrency
   * Official brand assets open_in_new
   * Platform adaptations
   * Security false positives **NEW**
   * Videos and online courses
 * Reference
   * Who is Dash?
   * Widget index
   * API reference open_in_new
   * flutter CLI reference
   * Package site open_in_new

Contents
 * System requirements
 * Get the Flutter SDK
   * Run flutter doctor
   * Downloading straight from GitHub instead of using an archive
   * Update your path
 * Platform setup
 * iOS setup
   * Install Xcode
   * Set up the iOS simulator
   * Create and run a simple Flutter app
   * Deploy to iOS devices
 * Android setup
   * Install Android Studio
   * Set up your Android device
   * Set up the Android emulator
   * Agree to Android Licenses
 * macOS setup
   * Additional macOS requirements
 * Web setup
 * Next step

 * Set up an editor


MACOS INSTALL

 1. Get started
 2. Install
 3. macOS

Contents
 * System requirements
 * Get the Flutter SDK
   * Run flutter doctor
   * Downloading straight from GitHub instead of using an archive
   * Update your path
 * Platform setup
 * iOS setup
   * Install Xcode
   * Set up the iOS simulator
   * Create and run a simple Flutter app
   * Deploy to iOS devices
 * Android setup
   * Install Android Studio
   * Set up your Android device
   * Set up the Android emulator
   * Agree to Android Licenses
 * macOS setup
   * Additional macOS requirements
 * Web setup
 * Next step


SYSTEM REQUIREMENTS

To install and run Flutter, your development environment must meet these minimum
requirements:

 * Operating Systems: macOS
 * Disk Space: 2.8 GB (does not include disk space for IDE/tools).
 * Tools: Flutter uses git for installation and upgrade. We recommend installing
   Xcode, which includes git, but you can also install git separately.

Important: If you’re installing on an Apple Silicon Mac, you must have the
Rosetta translation environment available for some ancillary tools. You can
install this manually by running:

content_copy

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



GET THE FLUTTER SDK

 1. Download the following installation bundle to get the latest stable release
    of the Flutter SDK:
    
    Intel   Apple Silicon flutter_macos_3.19.5-stable.zip  
    flutter_macos_arm64_3.19.5-stable.zip
    
    
    For other release channels, and older builds, see the SDK releases page.
    
    Tip: To determine whether your Mac uses an Apple silicon processor, refer to
    Mac computers with Apple silicon on apple.com

 2. Extract the file in the desired location, for example:
    
    content_copy
    
    $ cd ~/development
    $ unzip ~/Downloads/flutter_macos_3.19.5-stable.zip
    

 3. Add the flutter tool to your path:
    
    content_copy
    
    $ export PATH="$PATH:`pwd`/flutter/bin"
    
    
    This command sets your PATH variable for the current terminal window only.
    To permanently add Flutter to your path, see Update your path.

You are now ready to run Flutter commands!

Note: To update an existing version of Flutter, see Upgrading Flutter.


RUN FLUTTER DOCTOR

Run the following command to see if there are any dependencies you need to
install to complete the setup (for verbose output, add the -v flag):

content_copy

$ flutter doctor


This command checks your environment and displays a report to the terminal
window. The Dart SDK is bundled with Flutter; it is not necessary to install
Dart separately. Check the output carefully for other software you might need to
install or further tasks to perform (shown in bold text).

For example:

content_copy

[-] Android toolchain - develop for Android devices
    • Android SDK at /Users/obiwan/Library/Android/sdk
    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
    • Try re-installing or updating your Android SDK,
      visit https://docs.flutter.dev/setup/#android-setup for detailed instructions.


The following sections describe how to perform these tasks and finish the setup
process.

Once you have installed any missing dependencies, run the flutter doctor command
again to verify that you’ve set everything up correctly.


DOWNLOADING STRAIGHT FROM GITHUB INSTEAD OF USING AN ARCHIVE

This is only suggested for advanced use cases.

You can also use git directly instead of downloading the prepared archive. For
example, to download the stable branch:

content_copy

$ git clone https://github.com/flutter/flutter.git -b stable


Update your path, and run flutter doctor. That will let you know if there are
other dependencies you need to install to use Flutter (e.g. the Android SDK).

If you did not use the archive, Flutter will download necessary development
binaries as they are needed (if you used the archive, they are included in the
download). You may wish to pre-download these development binaries (for example,
you may wish to do this when setting up hermetic build environments, or if you
only have intermittent network availability). To do so, run the following
command:

content_copy

$ flutter precache


For additional download options, see flutter help precache.

Warning: The Flutter tool may occasionally download resources from Google
servers. By downloading or using the Flutter SDK you agree to the Google Terms
of Service.

For example, when installed from GitHub (as opposed to from a prepackaged
archive), the Flutter tool will download the Dart SDK from Google servers
immediately when first run, as it is used to execute the flutter tool itself.
This will also occur when Flutter is upgraded (e.g. by running the flutter
upgrade command).

The flutter tool uses Google Analytics to report feature usage statistics and
send crash reports. This data is used to help improve Flutter tools over time.

Flutter tool analytics are not sent on the very first run. To disable reporting,
run flutter config --no-analytics. To display the current setting, use flutter
config. If you opt out of analytics, an opt-out event is sent, and then no
further information is sent by the Flutter tool.

Dart tools may also send usage metrics and crash reports to Google. To control
the submission of these metrics, use the following options on the dart tool:

 * --enable-analytics: Enables anonymous analytics.
 * --disable-analytics: Disables anonymous analytics.

The Google Privacy Policy describes how data is handled by these services.


UPDATE YOUR PATH

You can update your PATH variable for the current session at the command line,
as shown in Get the Flutter SDK. You’ll probably want to update this variable
permanently, so you can run flutter commands in any terminal session.

The steps for modifying this variable permanently for all terminal sessions are
machine-specific. Typically you add a line to a file that is executed whenever
you open a new window. For example:

 1. Determine the path of your clone of the Flutter SDK. You need this in Step
    3.
 2. Open (or create) the rc file for your shell. Typing echo $SHELL in your
    Terminal tells you which shell you’re using. If you’re using Bash, edit
    $HOME/.bash_profile or $HOME/.bashrc. If you’re using Z shell, edit
    $HOME/.zshrc. If you’re using a different shell, the file path and filename
    will be different on your machine.

 3. Add the following line and change [PATH_OF_FLUTTER_GIT_DIRECTORY] to be the
    path of your clone of the Flutter git repo:
    
    content_copy
    
    $ export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
    

 4. Run source $HOME/.<rc file> to refresh the current window, or open a new
    terminal window to automatically source the file.

 5. Verify that the flutter/bin directory is now in your PATH by running:
    
    content_copy
    
    $ echo $PATH
    
    
    Verify that the flutter command is available by running:
    
    content_copy
    
    $ which flutter
    


PLATFORM SETUP

macOS supports developing Flutter apps for iOS, Android, macOS itself and the
web. Complete at least one of the platform setup steps now, to be able to build
and run your first Flutter app.


IOS SETUP


INSTALL XCODE

To develop Flutter apps for iOS, you need a Mac with Xcode installed.

 1. Install the latest stable version of Xcode (using web download or the Mac
    App Store).

 2. Configure the Xcode command-line tools to use the newly-installed version of
    Xcode by running the following from the command line:
    
    content_copy
    
    $ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    $ sudo xcodebuild -runFirstLaunch
    
    
    This is the correct path for most cases, when you want to use the latest
    version of Xcode. If you need to use a different version, specify that path
    instead.

 3. Make sure the Xcode license agreement is signed by either opening Xcode once
    and confirming or running sudo xcodebuild -license from the command line.

Versions older than the latest stable version may still work, but are not
recommended for Flutter development.

With Xcode, you’ll be able to run Flutter apps on an iOS device or on the
simulator.


SET UP THE IOS SIMULATOR

To prepare to run and test your Flutter app on the iOS simulator, follow these
steps:

 1. On your Mac, find the Simulator via Spotlight or by using the following
    command:
    
    content_copy
    
    $ open -a Simulator
    

 2. Make sure your simulator is using a 64-bit device (iPhone 5s or later). You
    can check the device by viewing the settings in the simulator’s Hardware >
    Device or File > Open Simulator menus.
 3. Depending on your development machine’s screen size, simulated
    high-screen-density iOS devices might overflow your screen. Grab the corner
    of the simulator and drag it to change the scale. You can also use the
    Window > Physical Size or Window > Pixel Accurate options if your computer’s
    resolution is high enough.


CREATE AND RUN A SIMPLE FLUTTER APP

To create your first Flutter app and test your setup, follow these steps:

 1. Create a new Flutter app by running the following from the command line:
    
    content_copy
    
    $ flutter create my_app
    

 2. A my_app directory is created, containing Flutter’s starter app. Enter this
    directory:
    
    content_copy
    
    $ cd my_app
    

 3. To launch the app in the Simulator, ensure that the Simulator is running and
    enter:
    
    content_copy
    
    $ flutter run
    


DEPLOY TO IOS DEVICES

To deploy your Flutter app to a physical iPhone or iPad you’ll need to set up
physical device deployment in Xcode and an Apple Developer account. If your app
is using Flutter plugins, you will also need the third-party CocoaPods
dependency manager.

 1. The first time you use an attached physical device for iOS development, you
    need to trust both your Mac and the Development Certificate on that device.
    On iOS 16 and higher you must also enable Developer Mode.
    
    Select Trust in the dialog prompt when first connecting the iOS device to
    your Mac.
    
    
    
    Then, go to the Settings app on the iOS device, select General > Device
    Management and trust your Certificate. For first time users, you might need
    to select General > Profiles > Device Management instead. On iOS 16 and
    higher, navigate back to the top level of the Settings app, select Privacy &
    Security > Developer Mode, and toggle Developer Mode on.

 2. You can skip this step if your apps do not depend on Flutter plugins with
    native iOS code. Install and set up CocoaPods by running the following
    commands:
    
    content_copy
    
    $ sudo gem install cocoapods
    
    
    Note: The default version of Ruby requires sudo to install the CocoaPods
    gem. If you are using a Ruby Version manager, you might need to run without
    sudo.
    
    Additionally, if you are installing on an Apple Silicon Mac, run the
    command:
    
    content_copy
    
      $ sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
    

 3. Follow the Xcode signing flow to provision your project:
    
    a. Open the default Xcode workspace in your project by running open
       ios/Runner.xcworkspace in a terminal window from your Flutter project
       directory.
    b. Select the device you intend to deploy to in the device drop-down menu
       next to the run button.
    c. Select the Runner project in the left navigation panel.
    
    d. In the Runner target settings page, make sure your Development Team is
       selected under Signing & Capabilities > Team.
       
       When you select a team, Xcode creates and downloads a Development
       Certificate, registers your device with your account, and creates and
       downloads a provisioning profile (if needed).
       
       * To start your first iOS development project, you might need to sign
         into Xcode with your Apple ID. Development and testing is supported for
         any Apple ID. Enrolling in the Apple Developer Program is required to
         distribute your app to the App Store. For details about membership
         types, see Choosing a Membership.
       
       * If automatic signing fails in Xcode, verify that the project’s General
         > Identity > Bundle Identifier value is unique.

 4. Start your app by running flutter run or clicking the Run button in Xcode.


ANDROID SETUP

Note: Flutter relies on a full installation of Android Studio to supply its
Android platform dependencies. However, you can write your Flutter apps in a
number of editors; a later step discusses that.


INSTALL ANDROID STUDIO

 1. Download and install Android Studio.
 2. Start Android Studio, and go through the ‘Android Studio Setup Wizard’. This
    installs the latest Android SDK, Android SDK Command-line Tools, and Android
    SDK Build-Tools, which are required by Flutter when developing for Android.
 3. Run flutter doctor to confirm that Flutter has located your installation of
    Android Studio. If Flutter cannot locate it, run flutter config
    --android-studio-dir <directory> to set the directory that Android Studio is
    installed to.


SET UP YOUR ANDROID DEVICE

To prepare to run and test your Flutter app on an Android device, you need an
Android device running Android 4.1 (API level 16) or higher.

 1. Enable Developer options and USB debugging on your device. Detailed
    instructions are available in the Android documentation.
 2. Windows-only: Install the Google USB Driver.
 3. Using a USB cable, plug your phone into your computer. If prompted on your
    device, authorize your computer to access your device.
 4. In the terminal, run the flutter devices command to verify that Flutter
    recognizes your connected Android device. By default, Flutter uses the
    version of the Android SDK where your adb tool is based. If you want Flutter
    to use a different installation of the Android SDK, you must set the
    ANDROID_SDK_ROOT environment variable to that installation directory.


SET UP THE ANDROID EMULATOR

To prepare to run and test your Flutter app on the Android emulator, follow
these steps:

 1. Enable VM acceleration on your machine.
 2. Launch Android Studio, click the AVD Manager icon, and select Create Virtual
    Device…
    * In older versions of Android Studio, you should instead launch Android
      Studio > Tools > Android > AVD Manager and select Create Virtual Device….
      (The Android submenu is only present when inside an Android project.)
    * If you do not have a project open, you can choose Configure > AVD Manager
      and select Create Virtual Device…
 3. Choose a device definition and select Next.
 4. Select one or more system images for the Android versions you want to
    emulate, and select Next. An x86 or x86_64 image is recommended.
 5. Under Emulated Performance, select Hardware - GLES 2.0 to enable hardware
    acceleration.

 6. Verify the AVD configuration is correct, and select Finish.
    
    For details on the above steps, see Managing AVDs.

 7. In Android Virtual Device Manager, click Run in the toolbar. The emulator
    starts up and displays the default canvas for your selected OS version and
    device.


AGREE TO ANDROID LICENSES

Before you can use Flutter, you must agree to the licenses of the Android SDK
platform. This step should be done after you have installed the tools listed
above.

 1. Make sure that you have a version of Java 8 installed and that your
    JAVA_HOME environment variable is set to the JDK’s folder.
    
    Android Studio versions 2.2 and higher come with a JDK, so this should
    already be done.

 2. Open an elevated console window and run the following command to begin
    signing licenses.
    content_copy
    
    $ flutter doctor --android-licenses
    

 3. Review the terms of each license carefully before agreeing to them.
 4. Once you are done agreeing with licenses, run flutter doctor again to
    confirm that you are ready to use Flutter.


MACOS SETUP


ADDITIONAL MACOS REQUIREMENTS

For macOS desktop development, you need the following in addition to the Flutter
SDK:

 * Xcode
 * CocoaPods if you use plugins


WEB SETUP

Flutter has support for building web applications in the stable channel. Any app
created in Flutter 2 automatically builds for the web. To add web support to an
app created before web was in stable, follow the instructions on Building a web
application with Flutter when you’ve completed the setup above.


NEXT STEP

Set up your preferred editor.

 * Set up an editor

 * terms
 * brand usage
 * security
 * privacy
 * español
 * 社区中文资源
 * We stand in solidarity with the Black community. Black Lives Matter.

Except as otherwise noted, this work is licensed under a Creative Commons
Attribution 4.0 International License, and code samples are licensed under the
BSD License.