macOS

July 18, 2026 · View on GitHub

English | 简体中文

Fastforge packages macOS applications as DMG, PKG, or ZIP.

Current Status

Build systempackage status
XcodeDMG, PKG, and ZIP connected through the action
Flutter BuilderDMG, PKG, and ZIP connected through CLI/action

Fastforge selects Xcode Builder or Flutter Builder from the project files, then passes the generated .app to the matching packager. Flutter projects can use fastforge package directly. Xcode projects must pass project arguments through workflow build-args; see Xcode Builder.

Requirements

  • macOS
  • Xcode command-line tools
  • SDKs and build tools required by the project

DMG

DMG is a common disk image distribution format for macOS. The current release uses the built-in DMG maker and no longer requires the globally installed appdmg Node.js tool.

For a Flutter project, run:

fastforge package --platform macos --target dmg

Additional steps such as signing and notarization can be run through package.hooks.post.

PKG

PKG is the macOS installer package format. The PKG packager reads this configuration file and fails if it is missing or invalid:

macos/packaging/pkg/make_config.yaml

For a Flutter project, run:

fastforge package --platform macos --target pkg

To upload to the App Store:

fastforge publish --path dist/MyApp.pkg --target appstore

ZIP

ZIP compresses a macOS .app bundle into an archive suitable for downloads and publishing.

For a Flutter project, run:

fastforge package --platform macos --target zip

The resulting archive can be published directly to GitHub Releases, S3-compatible storage, or a custom download service:

fastforge publish --path dist/MyApp.zip --target github \
  --publish-arg repo=owner/repository \
  --publish-arg release-tag=v1.0.0

Return to the packager overview.