file_picker_darwin 패키지는 Flutter 애플리케이션 내에서 iOS 및 macOS용 네이티브 파일 선택, 저장 및 디렉터리 선택 기능을 제공합니다. 이는 file_picker 플러그인의 플랫폼 전용 구현체로, Apple 운영 체제와의 원활한 통합을 보장하기 위해 네이티브 시스템 API를 활용합니다. 이를 통해 사용자는 익숙한 시스템 대화상자를 통해 파일을 탐색하고 선택하며 저장할 수 있습니다. 이 패키지는 파일 및 디렉터리 작업을 모두 지원하여 Darwin 기반 플랫폼에서 안전하고 효율적인 파일 처리를 보장합니다.
사용 사례
장치의 파일 시스템에서 파일 선택
사용자 정의 위치에 파일 저장
디렉터리 탐색 및 선택
iOS 앱에 네이티브 파일 대화 상자를 통합하는 방법
macOS 데스크톱 앱에서 파일 업로드 활성화
주요 기능
iOS 및 macOS의 네이티브 파일 피커 UI
파일 및 디렉터리 선택 지원
시스템 권한을 통한 안전한 파일 접근
file_picker와의 크로스플랫폼 일관성
파일 저장 작업에 대한 내장 지원
적합한 대상
파일 선택이 필요한 iOS 앱 개발자
파일 I/O가 필요한 macOS 데스크톱 플러터 앱
문서 가져오기 또는 내보내기를 처리하는 앱
file_picker 플러그인 스택을 사용하는 개발자
네이티브 파일 시스템 통합을 필요로 하는 프로젝트
고려 사항
올바른 iOS/macOS 권한 설정이 필요합니다
다윈 플랫폼(iOS 및 macOS)에 한정
메인 file_picker 패키지에 의존합니다
샌드박스 환경에 대해 추가 구성이 필요할 수 있습니다
앱 사ند박스 정책에 의해 파일 액세스가 제한되었습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
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.
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 = awaitFilePicker.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).
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.