Search packages, repositories and app categories

Package detailsv2.4.0

file_picker_darwin

Darwin (iOS and macOS) implementation of the file_picker plugin, supporting native file picking, saving, and directory selection.

iOSmacOS
30-day downloads
1.2M
Likes
2
Pub points
150

Install package

flutter pub add file_picker_darwin

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The file_picker_darwin package provides native file picking, saving, and directory selection functionality for iOS and macOS within Flutter applications. It is the platform-specific implementation of the file_picker plugin, leveraging native system APIs to ensure seamless integration with Apple's operating systems. This allows users to browse, select, and save files directly through familiar system dialogs. The package supports both file and directory operations, ensuring secure and efficient file handling on Darwin-based platforms.

Use cases

  • Selecting files from the device's file system
  • Saving files to user-defined locations
  • Navigating and selecting directories
  • Integrating native file dialogs in iOS apps
  • Enabling file uploads in macOS desktop apps

Key features

  • Native file picker UI on iOS and macOS
  • Support for file and directory selection
  • Secure file access via system permissions
  • Cross-platform consistency with file_picker
  • Built-in support for file saving operations

Suitable for

  • iOS app developers needing file selection
  • macOS desktop Flutter apps requiring file I/O
  • Apps that handle document imports or exports
  • Developers using the file_picker plugin stack
  • Projects requiring native file system integration

Considerations

  • Requires proper iOS/macOS permission settings
  • Limited to Darwin platforms (iOS and macOS)
  • Dependent on the main file_picker package
  • May require additional configuration for sandboxed environments
  • File access restricted by app sandbox policies

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

File Picker

pub package CI pipeline status GitHub issues License Awesome Flutter

File Picker

A Flutter plugin that lets you use the native file explorer to pick single or multiple files, with extension filtering, directory selection, and save-file dialogs, across Android, iOS, Linux, macOS, Windows, and Web.

This repository is a Melos workspace hosting file_picker as a federated plugin: a single cross-platform API package on top of one implementation package per platform, all versioned and published independently.

Packages

Package Pub Description
file_picker pub The main package. Add this to your app, it pulls in the right platform implementation automatically.
file_picker_platform_interface pub The shared interface and data contracts (PlatformFile, FileType, platform option classes) every implementation builds on.
file_picker_darwin pub iOS and macOS implementation.
android_file_picker pub Android implementation, including Storage Access Framework (SAF) support.
file_picker_linux pub Linux implementation, using GTK3 and XDG Desktop Portals.
windows_file_picker pub Windows implementation, using the Win32 COM APIs.
file_picker_web pub Web implementation, including Wasm compilation support.

Almost all apps should only ever depend on file_picker directly. The platform packages are pulled in transitively and registered automatically by Flutter's plugin system; you only reach for one of them directly if you need a platform-specific API that isn't exposed on the shared facade (for example FilePickerDarwin.skipEntitlementsChecks() on macOS).

Quick start

dependencies:
  file_picker: ^13.0.0
import 'package:file_picker/file_picker.dart';

final file = await FilePicker.pickFile();

if (file != null) {
  print(file.name);
  print(await file.length()); // Returns Future<int?> (or use file.lengthSync())
}

See packages/file_picker/README.md for the full feature list, platform compatibility chart, and more usage examples (multiple files, extension filters, directory picking, save-file dialogs).

Migration

  • Upgrading to v13? See the Migrating to v13 Guide for details on PlatformFile.length() returning Future<int?> and the removal of legacy v12-deprecated parameters.
  • Upgrading from pre-v12? See the Migrating to v12 Guide for the federated architecture changes (FilePicker.pickFiles() returning List<PlatformFile>, platform options, and streaming).

Documentation

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request, it covers testing requirements, versioning, and changelog conventions for this workspace.

To work on this repository locally:

dart pub global activate melos
melos bootstrap
melos run analyze   # flutter analyze across every package
melos run test       # flutter test across every package

Each package keeps its own pubspec.yaml and CHANGELOG.md and is released independently, only the package(s) you actually changed need a version bump.

Credits

file_picker was created and maintained by Miguel Ruivo, starting in 2018, growing it from a single Android/iOS plugin into the federated, cross-platform package it is today. This repository continues that work under new ownership, built entirely on the foundation of his years of effort.

Thank you, Miguel.

License

MIT, see LICENSE. Every package in this repository is released under the same license.

Categories

Dependencies

Dependency list 3 items

Source repository

Projects using this package

No data available yet.

Rankings