Installable skillMIT

Setting Up a macOS Environment for Flutter Development

Sets up a macOS environment for Flutter development. Use when configuring a macOS machine to run, build, or deploy Flutter applications for iOS or macOS.

BY dangdungvnUPDATED Oct 30, 2026
INTENDED FOR✦GeminiInstall in a listed agent.

instructions.md

---
name: flutter-setting-up-on-macos-f3a18f00a996
description: "Sets up a macOS environment for Flutter development. Use when configuring a macOS machine to run, build, or deploy Flutter applications for iOS or macOS."
metadata:
  model: "models/gemini-3.1-pro-preview"
  last_modified: "Thu, 12 Mar 2026 22:12:50 GMT"

---
# Setting Up a macOS Environment for Flutter Development

## Contents
- [Prerequisites](#prerequisites)
- [Tooling Configuration](#tooling-configuration)
- [Workflow: Configuring macOS Tooling](#workflow-configuring-macos-tooling)
- [Workflow: Validating the Environment](#workflow-validating-the-environment)
- [Troubleshooting](#troubleshooting)

## Prerequisites
Ensure the following baseline requirements are met before configuring the macOS-specific toolchain:
- macOS operating system.
- Flutter SDK installed and added to the system `PATH`.
- Active internet connection for downloading toolchains and dependencies.

## Tooling Configuration
macOS desktop development requires specific Apple toolchains to compile and debug native Swift and Objective-C code. 
- **Xcode**: Required for compiling macOS desktop applications.
- **CocoaPods**: Required for managing native dependencies used by Flutter plugins.

## Workflow: Configuring macOS Tooling

Copy and follow this checklist to configure the macOS build environment.

- [ ] **Install Xcode**: Install the latest version of Xcode from the Mac App Store or the Apple Developer portal.
- [ ] **Configure Command-Line Tools**: Link the Xcode command-line tools to the installed Xcode version. Run the following command in the terminal:
  ```bash
  sudo sh -c 'xcode-select -s /Applications/Xcode.app/Contents/Developer && xcodebuild -runFirstLaunch'
  ```
  *Conditional*: If Xcode is installed in a custom directory, replace `/Applications/Xcode.app` with the correct absolute path.
- [ ] **Accept Xcode Licenses**: Accept the required developer licenses by running:
  ```bash
  sudo xcodebuild -license
  ```
  Read and agree to the prompts.
- [ ] **Install CocoaPods**: Install CocoaPods to handle native macOS plugin dependencies.
  ```bash
  sudo gem install cocoapods
  ```
  *Conditional*: If CocoaPods is already installed, ensure it is updated to the latest version (`sudo gem update cocoapods`).

## Workflow: Validating the Environment

Execute this feedback loop to ensure the environment is correctly configured for macOS desktop development.

- [ ] **Run Validator**: Execute the Flutter diagnostic tool with verbose output:
  ```bash
  flutter doctor -v
  ```
- [ ] **Review Errors**: Check the `Xcode` section in the output. 
- [ ] **Fix & Retry**: If errors or missing components are reported under the Xcode section, resolve them according to the output instructions, then re-run `flutter doctor -v` until the Xcode section passes.
- [ ] **Verify Device Availability**: Confirm that Flutter recognizes the macOS desktop as a valid deployment target:
  ```bash
  flutter devices
  ```
  *Success Criteria*: The output must contain at least one entry with `macos` listed as the platform.

## Troubleshooting

If the validation workflow fails, apply the following resolutions:

- **Missing Command-Line Tools**: If `flutter doctor` reports missing tools, ensure the `xcode-select` command was run with `sudo` and points to the correct `.app` directory.
- **CocoaPods Not Found**: If CocoaPods is installed but not detected, verify that your Ruby `gem` binary path is included in your shell's `PATH` environment variable.
- **Device Not Listed**: If `flutter devices` does not list `macos`, ensure desktop support is enabled in your Flutter configuration:
  ```bash
  flutter config --enable-macos-desktop
  ```
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.