File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

Overview

fluter_file_picker

File Picker Awesome Flutter Build Status Buy me a coffee CI pipeline status

File Picker

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Currently supported features

  • Uses OS default native pickers
  • Supports multiple platforms (Mobile, Web, Desktop and Flutter GO)
  • Pick files using custom format filtering β€” you can provide a list of file extensions (pdf, svg, zip, etc.)
  • Pick files from cloud files (GDrive, Dropbox, iCloud)
  • Single or multiple file picks
  • Different default type filtering (media, image, video, audio or any)
  • Picking directories
  • Load file data immediately into memory (Uint8List) if needed;
  • Open a save-file / save-as dialog (a dialog that lets the user specify the drive, directory, and name of a file to save)

If you have any feature that you want to see in this package, please feel free to issue a suggestion. πŸŽ‰

Documentation

See the File Picker Wiki for every detail on about how to install, setup and use it.

File Picker Wiki

  1. Installation
  2. Setup
  3. API
  4. FAQ
  5. Troubleshooting

Usage

Quick simple usage example:

Single file

FilePickerResult? result = await FilePicker.platform.pickFiles();

if (result != null) {
  File file = File(result.files.single.path);
} else {
  // User canceled the picker
}

Multiple files

FilePickerResult? result = await FilePicker.platform.pickFiles(allowMultiple: true);

if (result != null) {
  List<File> files = result.paths.map((path) => File(path)).toList();
} else {
  // User canceled the picker
}

Multiple files with extension filter

FilePickerResult? result = await FilePicker.platform.pickFiles(
  type: FileType.custom,
  allowedExtensions: ['jpg', 'pdf', 'doc'],
);

Pick a directory

String? selectedDirectory = await FilePicker.platform.getDirectoryPath();

if (selectedDirectory == null) {
  // User canceled the picker
}

Save-file / save-as dialog

String? outputFile = await FilePicker.platform.saveFile(
  dialogTitle: 'Please select an output file:',
  fileName: 'output-file.pdf',
);

if (outputFile == null) {
  // User canceled the picker
}

Load result and file details

FilePickerResult? result = await FilePicker.platform.pickFiles();

if (result != null) {
  PlatformFile file = result.files.first;

  print(file.name);
  print(file.bytes);
  print(file.size);
  print(file.extension);
  print(file.path);
} else {
  // User canceled the picker
}

Pick and upload a file to Firebase Storage with Flutter Web

FilePickerResult? result = await FilePicker.platform.pickFiles();

if (result != null) {
  Uint8List fileBytes = result.files.first.bytes;
  String fileName = result.files.first.name;
  
  // Upload file
  await FirebaseStorage.instance.ref('uploads/$fileName').putData(fileBytes);
}

For full usage details refer to the Wiki above.

Example App

Android

Demo

iOS

DemoMultiFilters

MacOS

DemoMacOS

Linux

DemoLinux

Windows

DemoWindows

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

Comments
  • App crash on file pick in android

    App crash on file pick in android

    Hi i am not able to pick file app get crashed when i select any file.

    I an using android device.

    Issue printed in console

    E/AndroidRuntime( 1459): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference E/AndroidRuntime( 1459): at com.mr.flutter.plugin.filepicker.FilePickerDelegate$2.run(FilePickerDelegate.java:92) E/AndroidRuntime( 1459): at java.lang.Thread.run(Thread.java:919)

    new issue needs investigation android 
    opened by maxbhoria 97
  • The plugin file_picker could not be built due to the issue above with Flutter 1.12.13+hotfix.9

    The plugin file_picker could not be built due to the issue above with Flutter 1.12.13+hotfix.9

    My project is migrated to AndroidX and worked earlier with Flutter version 1.12.13+hotfix.7 and FilePicker version 1.4.3+2

    Flutter Doctor output:

    [√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.18363.657], locale en-US)
        β€’ Flutter version 1.12.13+hotfix.9 at C:\flutter
        β€’ Framework revision f139b11009 (4 days ago), 2020-03-30 13:57:30 -0700
        β€’ Engine revision af51afceb8
        β€’ Dart version 2.7.2
    
    
    [√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
        β€’ Android SDK at C:\Users\BLiyanage\AppData\Local\Android\sdk
        β€’ Android NDK location not configured (optional; useful for native profiling support)
        β€’ Platform android-29, build-tools 29.0.3
        β€’ ANDROID_HOME = C:\Users\BLiyanage\AppData\Local\Android\sdk
        β€’ Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
        β€’ Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
        β€’ All Android licenses accepted.
    
    [√] Android Studio (version 3.6)
        β€’ Android Studio at C:\Program Files\Android\Android Studio
        β€’ Flutter plugin version 43.0.2
        β€’ Dart plugin version 192.7761
        β€’ Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    
    [√] IntelliJ IDEA Community Edition (version 2019.3)
        β€’ IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3
        β€’ Flutter plugin version 44.0.3
        β€’ Dart plugin version 193.6494.35
    
    [√] VS Code, 32-bit edition
        β€’ VS Code at C:\Program Files (x86)\Microsoft VS Code
        β€’ Flutter extension version 3.4.1
    
    [√] VS Code, 64-bit edition (version 1.42.1)
        β€’ VS Code at C:\Program Files\Microsoft VS Code
        β€’ Flutter extension version 3.4.1
    
    [!] Connected device
        ! No devices available
    
    ! Doctor found issues in 1 category.
    

    Error log:

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
    17 actionable tasks: 2 executed, 15 up-to-date
    
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:12: error: cannot find
     symbol
    import androidx.lifecycle.DefaultLifecycleObserver;
                             ^
      symbol:   class DefaultLifecycleObserver
      location: package androidx.lifecycle
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:19: error: cannot find
     symbol
    import io.flutter.embedding.engine.plugins.lifecycle.FlutterLifecycleAdapter;
                                                        ^
      symbol:   class FlutterLifecycleAdapter
      location: package io.flutter.embedding.engine.plugins.lifecycle
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:35: error: cannot find
     symbol
                implements Application.ActivityLifecycleCallbacks, DefaultLifecycleObserver {
                                                                   ^
      symbol:   class DefaultLifecycleObserver
      location: class FilePickerPlugin
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:42: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:46: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:50: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:54: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:58: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:63: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:253: error: cannot fin
    d symbol
                this.lifecycle = FlutterLifecycleAdapter.getActivityLifecycle(activityBinding);
                                 ^
      symbol:   variable FlutterLifecycleAdapter
      location: class FilePickerPlugin
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:254: error: incompatib
    le types: FilePickerPlugin.LifeCycleObserver cannot be converted to LifecycleObserver
                this.lifecycle.addObserver(this.observer);
                                               ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:262: error: incompatib
    le types: FilePickerPlugin.LifeCycleObserver cannot be converted to LifecycleObserver
            this.lifecycle.removeObserver(this.observer);
                                              ^
    Note: C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerDelegate.java uses or overri
    des a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
    12 errors
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':compileReleaseJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 1m 51s
    
    
    The plugin file_picker could not be built due to the issue above.
    
    help wanted needs investigation android 
    opened by Blasanka 89
  • Suggestion Box

    Suggestion Box

    Suggestions Box

    Please, if you have any suggestion add it here and I'll try to keep track of those, as well we can try to discuss which will make sense to implement or not in the package.

    The list order is from the most likely to be added to the less.

    To-do list

    • [ ] Support Flutter desktop (#85) - Currently implemented with go-flutter as an alternative πŸŽ‰
    • [x] Allow multiple extensions at once (#68)
    • [ ] Get an URL from remote files (eg. GDrive) (#63)
    • [ ] Picking directory (although this is not an easy task in iOS) (#23)
    • [ ] Support Flutter Web (#84) (WIP)
    • [ ] Support picking videos and photos at once on iOS (#181)
    suggestion discussion 
    opened by miguelpruivo 74
  • Xcode 12 / iOS 14 / image pick (single and multiple) / from image_picker #65995

    Xcode 12 / iOS 14 / image pick (single and multiple) / from image_picker #65995

    Describe the bug cf. https://github.com/flutter/flutter/issues/65995 I created a brand new project from scratch and I still get the following message:

    Picker Unavailable
    There was an error while preparing the picker.
    Please try later again
    

    Issue details

    1. Android Studio 4.0.1
    2. file_picker: ^2.0.1+1
    3. Xcode 12 / iOS 14
    4. tried on iOS Simulator iPhone 8 Plus, iPhone 11 Pro Max and iPad Pro (12.9-inch) - 4th generation
    5. same issue with FilePicker.platform.pickFiles(type: FileType.image) and FilePicker.platform.pickFiles(type: FileType.image, allowMultiple: true)
    6. A simple app from scratch

    Screenshots and/or video

    Screenshot

    Simulator Screen Shot - iPhone 8 Plus - 2020-09-23 at 12 22 42

    Flutter Version details

    flutter doctor -v
    [βœ“] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.5 19F101, locale fr-FR)
        β€’ Flutter version 1.20.4 at /Users/fabricefontaine/development/flutter
        β€’ Framework revision fba99f6cf9 (9 days ago), 2020-09-14 15:32:52 -0700
        β€’ Engine revision d1bc06f032
        β€’ Dart version 2.9.2
    
     
    [βœ“] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        β€’ Android SDK at /Users/fabricefontaine/Library/Android/sdk
        β€’ Platform android-30, build-tools 30.0.2
        β€’ Java binary at: /Applications/Android
          Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        β€’ Java version OpenJDK Runtime Environment (build
          1.8.0_242-release-1644-b3-6222593)
        β€’ All Android licenses accepted.
    
    [βœ“] Xcode - develop for iOS and macOS (Xcode 12.0)
        β€’ Xcode at /Applications/Xcode.app/Contents/Developer
        β€’ Xcode 12.0, Build version 12A7209
        β€’ CocoaPods version 1.9.3
    
    [βœ“] Android Studio (version 4.0)
        β€’ Android Studio at /Applications/Android Studio.app/Contents
        β€’ Flutter plugin version 49.0.2
        β€’ Dart plugin version 193.7547
        β€’ Java version OpenJDK Runtime Environment (build
          1.8.0_242-release-1644-b3-6222593)
    
    [βœ“] Connected device (1 available)
        β€’ iPhone 8 Plus (mobile) β€’ 755F3CBA-6DA9-4C91-B05A-2CD42DF86E65 β€’ ios β€’
          com.apple.CoreSimulator.SimRuntime.iOS-14-0 (simulator)
    
    β€’ No issues found!
    
    iOS 
    opened by monsieurtanuki 55
  • [Feature] Web Support

    [Feature] Web Support

    Motivation

    Currently web support is one of most requested features for file_picker.

    Have in mind that features are still being added and you need to be on Flutter branches that currently have web support as well (eg. beta, dev, master).

    Update: early implementation of this is already available with file_picker_web

    feature 
    opened by miguelpruivo 52
  • Xcode 13.3 - Error (Xcode): Segmentation fault: 11 Encountered error while archiving for device.

    Xcode 13.3 - Error (Xcode): Segmentation fault: 11 Encountered error while archiving for device.

    Hi, after upgrading to Xcode 13.3 and iOS 15.4,

    • no issues encountered while debugging app on iPhone.
    • no issues building Android appbundle
    • however, encountered the below when building iOS app flutter build ipa --obfuscate --split-debug-info=debug-info
    • have tried pod deintegrate && rm Podfile.lock && pod install> flutter clean > rm -rf ~/Library/Developer/Xcode/DerivedData then rebuild, same issue encountered.
    • I tried disabling file_picker in pubspec.yaml, Xcode was able to build archive successfully.

    Appreciate if some light can be shed on this issue. Thanks!

    SwiftCodeGeneration normal arm64 (in target 'DKImagePickerController' from project 'Pods')
        cd /Users/myname/Projects/apps/my_app_name/ios/Pods
        /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.bc -embed-bitcode -target arm64-apple-ios12.0 -Xllvm -aarch64-use-tbi -O -disable-llvm-optzns -module-name DKImagePickerController -o /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.o
    
    Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project and the crash backtrace.
    Stack dump:
    0.	Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.bc -embed-bitcode -target arm64-apple-ios12.0 -Xllvm -aarch64-use-tbi -O -disable-llvm-optzns -module-name DKImagePickerController -o /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.o
    1.	Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
    2.	Compiling with the current language version
    3.	Running pass 'Function Pass Manager' on module '/Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.bc'.
    4.	Running pass 'ObjC ARC contraction' on function '@UI_USER_INTERFACE_IDIOM'
    Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
    0  swift-frontend           0x000000010503ef88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
    1  swift-frontend           0x000000010503df9c llvm::sys::RunSignalHandlers() + 112
    2  swift-frontend           0x000000010503f618 SignalHandler(int) + 344
    3  libsystem_platform.dylib 0x000000019e6914c4 _sigtramp + 56
    4  swift-frontend           0x0000000102fbce8c llvm::objcarc::BundledRetainClaimRVs::insertRVCallWithColors(llvm::Instruction*, llvm::CallBase*, llvm::DenseMap<llvm::BasicBlock*, llvm::TinyPtrVector<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::detail::DenseMapPair<llvm::BasicBlock*, llvm::TinyPtrVector<llvm::BasicBlock*> > > const&) + 64
    5  swift-frontend           0x0000000102fcd878 (anonymous namespace)::ObjCARCContract::run(llvm::Function&, llvm::AAResults*, llvm::DominatorTree*) + 1024
    6  swift-frontend           0x0000000104db2e24 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1292
    7  swift-frontend           0x0000000104db938c llvm::FPPassManager::runOnModule(llvm::Module&) + 60
    8  swift-frontend           0x0000000104db35a8 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1088
    9  swift-frontend           0x0000000100d7eee8 swift::performLLVMOptimizations(swift::IRGenOptions const&, llvm::Module*, llvm::TargetMachine*) + 3376
    10 swift-frontend           0x0000000100d7fe28 swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, swift::UnifiedStatsReporter*) + 2440
    11 swift-frontend           0x0000000100d88364 swift::performLLVM(swift::IRGenOptions const&, swift::ASTContext&, llvm::Module*, llvm::StringRef) + 180
    12 swift-frontend           0x00000001008e0ea0 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6976
    13 swift-frontend           0x00000001008a8130 swift::mainEntry(int, char const**) + 808
    14 dyld                     0x00000001078a1088 start + 516
    error: Segmentation fault: 11 (in target 'DKImagePickerController' from project 'Pods')
    
    [βœ“] Flutter (Channel stable, 2.10.3, on macOS 12.3 21E230 darwin-arm, locale
        en-SG)
        β€’ Flutter version 2.10.3 at /Users/myname/Projects/flutter
        β€’ Upstream repository https://github.com/flutter/flutter.git
        β€’ Framework revision 7e9793dee1 (13 days ago), 2022-03-02 11:23:12 -0600
        β€’ Engine revision bd539267b4
        β€’ Dart version 2.16.1
        β€’ DevTools version 2.9.2
    
    [βœ“] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        β€’ Android SDK at /Users/myname/Library/Android/sdk
        β€’ Platform android-31, build-tools 30.0.3
        β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        β€’ Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
        β€’ All Android licenses accepted.
    
    [βœ“] Xcode - develop for iOS and macOS (Xcode 13.3)
        β€’ Xcode at /Applications/Xcode.app/Contents/Developer
        β€’ CocoaPods version 1.11.2
    
    [βœ“] Chrome - develop for the web
        β€’ Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [βœ“] Android Studio (version 2021.1)
        β€’ Android Studio at /Applications/Android Studio.app/Contents
        β€’ Flutter plugin can be installed from:
          πŸ”¨ https://plugins.jetbrains.com/plugin/9212-flutter
        β€’ Dart plugin can be installed from:
          πŸ”¨ https://plugins.jetbrains.com/plugin/6351-dart
        β€’ Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    
    [βœ“] VS Code (version 1.65.2)
        β€’ VS Code at /Applications/Visual Studio Code.app/Contents
        β€’ Flutter extension version 3.36.0
    
    [βœ“] Connected device (2 available)
        β€’ myiPhone (mobile) β€’ 00008110-001938481E04801E β€’ ios            β€’ iOS 15.4 19E241
        β€’ Chrome (web)     β€’ chrome                    β€’ web-javascript β€’ Google Chrome 99.0.4844.51
    
    [βœ“] HTTP Host Availability
        β€’ All required HTTP hosts are available
    
    on hold iOS 
    opened by iamshaunwu 46
  • Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/31609356-B2FF-4E41-8576-D0D46E7D0DF3/tmp/com.loancloud.fund1-Inbox/form_template.pdf' (OS Error: No such file or directory, errno = 2)

    Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/31609356-B2FF-4E41-8576-D0D46E7D0DF3/tmp/com.loancloud.fund1-Inbox/form_template.pdf' (OS Error: No such file or directory, errno = 2)

    Before creating an issue, make sure that you are on the latest file_picker version and that there aren't already any similar opened inssues. Also, check if it isn't described on the Wiki, specially on Troubleshooting page.

    Also, sometimes a simple flutter clean and flutter build again with latest file_picker version, may end up by fixing cached issues, so I encourage you to first do so.

    Describe the bug A clear and concise description of what the bug is. If the issue happens to be on Android, please make sure that it also happens with a different device/simulator and/or version.

    Platform

    • [] Android
    • [] iOS
    • [] Web
    • [] Desktop (Go)

    Platform OS version What version did it happen?

    How are you picking?

    Please, post the snippet here
    

    Details to reproduce the issue Provide all the details to reproduce the issue.

    Error Log Please, post the full console log of your issue, if applicable.

    Screenshots and/or video If applicable, add screenshots or video to help explain your problem.

    Flutter Version details Please, post the output of your flutter doctor -v, preferably, while running the issued device/simulator.

    Additional context Add any other context about the problem here.

    triage stale 
    opened by Nolan1357 44
  • FileSystemException: Cannot retrieve length of file,(OS Error: No such file or directory, errno = 2)

    FileSystemException: Cannot retrieve length of file,(OS Error: No such file or directory, errno = 2)

    Getting, Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/0C1997E5-5243-494E-85EA-830E3248CC97/tmp/com.vassar.bluis-Inbox/https:%2Ffoodlicensing.fssai.gov.in%2FREG%2FRG_ViewReceipt.aspx?ReqID=68198366.pdf' (OS Error: No such file or directory, errno = 2)

    in Android its working fine but in iOS 13.4 real device getting above exception

    Issue details

    1. Platform - iOS
    2. Platform OS version - 13.4
    3. File type (filter) β€” pdf
    4. Detailed steps to reproduce Working fine in android, select any pdf file and try to upload to server in iOS real device 13.4

    Error Log

    2020-04-29 15:56:04.991427+0530 Runner[4358:1416983] [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/0C1997E5-5243-494E-85EA-830E3248CC97/tmp/com.vassar.bluis-Inbox/https:%2Ffoodlicensing.fssai.gov.in%2FREG%2FRG_ViewReceipt.aspx?ReqID=68198366.pdf' (OS Error: No such file or directory, errno = 2) #0 _File.length. (dart:io/file_impl.dart:376:9) #1 _rootRunUnary (dart:async/zone.dart:1134:38) #2 _CustomZone.runUnary (dart:async/zone.dart:1031:19) #3 _FutureListener.handleValue (dart:async/future_impl.dart:139:18) #4 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45) #5 Future._propagateToListeners (dart:async/future_impl.dart:709:32) #6 Future._completeWithValue (dart:async/future_impl.dart:524:5) #7 Future._asyncComplete. (dart:async/future_impl.dart:554:7) #8 _rootRun (dart:async/zone.dart:1126:13) #9 _CustomZone.run (dart:async/zone.dart:1023:19) #10 _CustomZone.runGuarded (dart:async/zone.dart:925:7) #11 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:965:23) #12 _microtaskLoop (dart:async/schedule_microtask.dart:43:21) #13 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)

    Flutter Version details [βœ“] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E287, locale en-IN) β€’ Flutter version 1.12.13+hotfix.9 at /Users/teja/flutter_dev/flutter β€’ Framework revision f139b11009 (4 weeks ago), 2020-03-30 13:57:30 -0700 β€’ Engine revision af51afceb8 β€’ Dart version 2.7.2

    [βœ“] Android toolchain - develop for Android devices (Android SDK version 29.0.2) β€’ Android SDK at /Users/teja/Library/Android/sdk β€’ Android NDK location not configured (optional; useful for native profiling support) β€’ Platform android-29, build-tools 29.0.2 β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java β€’ Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405) β€’ All Android licenses accepted.

    [βœ“] Xcode - develop for iOS and macOS (Xcode 11.4.1) β€’ Xcode at /Applications/Xcode.app/Contents/Developer β€’ Xcode 11.4.1, Build version 11E503a β€’ CocoaPods version 1.9.1

    [βœ“] Android Studio (version 3.5) β€’ Android Studio at /Applications/Android Studio.app/Contents β€’ Flutter plugin version 42.1.1 β€’ Dart plugin version 191.8593 β€’ Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

    [βœ“] Connected device (1 available) β€’ Shahnawaz’s iphone β€’ d59a055eb9bbddc9be958142d9c484e3c45bbf2f β€’ ios β€’ iOS 13.4.1

    β€’ No issues found!

    triage 
    opened by shahnawazahmed88 42
  • Flutter app not launching on Android when built in release mode

    Flutter app not launching on Android when built in release mode

    Describe the bug My Flutter app is not launching on Android when building in release mode after adding file_picker dependency in pubspec.yaml. When I run debug build, everything works OK.

    Issue details

    1. Platform: Android
    2. Platform OS version: tested and reproduced on 7-11 (mostly on Android 11 on Pixel 3a).
    3. File type (filter) -
    4. Detailed steps to reproduce:
    1. Make a clear release build of the app with flutter clean and flutter build apk.
    2. Send the file <PROJECT_DIR>/build/app/outputs/flutter-apk/app-release.apk to the device and install it.
    3. Run the app. Everything works as expected, I'm able to interact with my app.
    4. Add file_picker: ^2.1.4,
    5. Run flutter pub get, flutter clean and then flutter build apk.
    6. Send the new file <PROJECT_DIR>/build/app/outputs/flutter-apk/app-release.apk to the device and install it.
    7. Run the app. I can see Android's splash screen, however, after it closes, I'm stuck on a black screen and Flutter app does not load.
    8. Remove the app from the device. Try running debug build. The app works as expected, Flutter app launched once the Android splash was closed.

    Error Log Nothing to paste here :( When I try to attach Flutter debugger from Android studio to the opened app on the step 7), the console just keeps showing the message "Waiting for a connection from Flutter on Pixel 3a...".

    Screenshots and/or video If applicable, add screenshots or video to help explain your problem.

    Flutter Version details flutter doctor -v: [βœ“] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-GB) β€’ Flutter version 1.22.5 at /Users/yurii.dvornyk/Documents/flutter β€’ Framework revision 7891006299 (4 days ago), 2020-12-10 11:54:40 -0800 β€’ Engine revision ae90085a84 β€’ Dart version 2.10.4

    [βœ“] Android toolchain - develop for Android devices (Android SDK version 30.0.2) β€’ Android SDK at /Users/yurii.dvornyk/Library/Android/sdk β€’ Platform android-30, build-tools 30.0.2 β€’ ANDROID_HOME = /Users/yurii.dvornyk/Library/Android/sdk β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java β€’ Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) β€’ All Android licenses accepted.

    [βœ“] Xcode - develop for iOS and macOS (Xcode 12.2) β€’ Xcode at /Applications/Xcode.app/Contents/Developer β€’ Xcode 12.2, Build version 12B45b β€’ CocoaPods version 1.10.0

    [!] Android Studio (version 4.1) β€’ Android Studio at /Applications/Android Studio.app/Contents βœ— Flutter plugin not installed; this adds Flutter specific functionality. (Plugin is actually installed; this is Flutter's known issue) βœ— Dart plugin not installed; this adds Dart specific functionality. (Plugin is actually installed; this is Flutter's known issue) β€’ Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

    [βœ“] VS Code (version 1.52.0) β€’ VS Code at /Applications/Visual Studio Code.app/Contents β€’ Flutter extension version 3.17.0

    [!] Connected device ! No devices available

    Additional context Posting the whole pubspec.yaml content in case it could help.

    name: <PROJECT_NAME>
    description: <PROJECT_DESCRIPTION>
    publish_to: 'none'
    version: 1.0.0+1
    environment:
      sdk: ">=2.7.0 <3.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
    
      cupertino_icons: ^0.1.3
    
      # Firebase
      firebase_core: ^0.5.0+1
      firebase_crashlytics: ^0.2.1+1
      firebase_analytics: ^6.0.2
    
      # UI libraries
      flip_card: ^0.4.4
      flutter_svg: ^0.19.1
      flutter_markdown: ^0.5.1
      visibility_detector: ^0.1.5
    
      # Localization
      intl: ^0.16.1
      flutter_localizations:
        sdk: flutter
      
      # Networking
      http: ^0.12.2
    
      # Database
      moor: ^3.4.0
      sqlite3_flutter_libs:
    
      # Paths, Urls, Files
      path_provider: ^1.6.24
      path: ^1.7.0
      url_launcher: ^5.7.10
      file_picker: ^2.1.4
      mime: ^0.9.7
    
      # Download/Upload
      flutter_uploader: ^2.0.0-beta.3
    
      # Photo/video
      camera: ^0.5.8+11
      video_player: ^1.0.1
      video_thumbnail: ^0.2.5
      flutter_ffmpeg: ^0.3.0
    
      # Work with devices
      device_info: ^1.0.0
      wakelock: ^0.2.1+1
    
    dev_dependencies:
      flutter_test:
        sdk: flutter
      
      # Database
      moor_generator: ^3.4.0
      build_runner: ^1.10.4
    
    flutter:
      uses-material-design: true
    
      assets:
        - assets/images/
    
      fonts:
        <FONTS_USED_IN_THE_PROJECT>
    
    flutter_intl:
      enabled: true
    
    triage android 
    opened by yurijdvornyk 39
  • Support for MacOS & Windows Desktop

    Support for MacOS & Windows Desktop

    I get a platform exception trying to use this in a flutter app deployed to MacOS, but it works on android and iOS. Are there any plans to extend support to native mac / desktop?

    Thanks!

    suggestion help wanted feature 
    opened by JayPerfetto 39
  • Does not get absolute paths as claimed. Cannot write to a .txt file

    Does not get absolute paths as claimed. Cannot write to a .txt file

    I don't understand what this can and can't do.

    Can it be used to write to files? I'm getting errors? You say it returns absolute file paths, but that does not look to be true. It seems to copy the filename only, not the path, and put it in private external storage, especially, cache.

    So this is not really a file picker. It only copies files temporarily to cache?

    opened by bradyt 39
  • Cannot start file_picker with the launch setting nor run command

    Cannot start file_picker with the launch setting nor run command

    Describe the bug While I try to run the app on an IOS emulator a recive the following errors. I'm using the latest version 5.2.4 with flutter 3.3.8 with the Very Good Core framework. My PodFile is like this:

    # Uncomment this line to define a global platform for your project
    # platform :ios, '11.0'
    
    # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
    ENV['COCOAPODS_DISABLE_STATS'] = 'true'
    
    project 'Runner', {
      'Debug' => :debug,
      'Profile' => :release,
      'Release' => :release,
    }
    
    def flutter_root
      generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
      unless File.exist?(generated_xcode_build_settings_path)
        raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
      end
    
      File.foreach(generated_xcode_build_settings_path) do |line|
        matches = line.match(/FLUTTER_ROOT\=(.*)/)
        return matches[1].strip if matches
      end
      raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
    end
    
    require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
    
    flutter_ios_podfile_setup
    
    Pod::PICKER_AUDIO = false
    Pod::PICKER_DOCUMENT = false
    
    target 'Runner' do
      use_frameworks!
      use_modular_headers!
    
      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
    end
    
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
      end
    end
    

    Platform

    • [ ] Android
    • [x] iOS
    • [ ] Web
    • [ ] Desktop

    Platform OS version MacOS 12.6 with Macbook pro M1 Max

    How are you picking?

    Nothing at the moment because the error occured while building
    

    Details to reproduce the issue The error appear everytime I try to run the app

    Error LogArchiving com.uaffamily.mobile... Automatically signing iOS for device deployment using specified development team in Xcode project: 8YS26433MD Running pod install... 1,912ms CocoaPods' output: ↳ Preparing

    Analyzing dependencies
    
    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)
    
    Fetching external sources
    -> Fetching podspec for `Flutter` from `Flutter`
    -> Fetching podspec for `connectivity_plus` from `.symlinks/plugins/connectivity_plus/ios`
    -> Fetching podspec for `file_picker` from `.symlinks/plugins/file_picker/ios`
    -> Fetching podspec for `flutter_native_splash` from `.symlinks/plugins/flutter_native_splash/ios`
    -> Fetching podspec for `intercom_flutter` from `.symlinks/plugins/intercom_flutter/ios`
    -> Fetching podspec for `package_info_plus` from `.symlinks/plugins/package_info_plus/ios`
    -> Fetching podspec for `rollbar_flutter` from `.symlinks/plugins/rollbar_flutter/ios`
    -> Fetching podspec for `shared_preferences_ios` from `.symlinks/plugins/shared_preferences_ios/ios`
    -> Fetching podspec for `sqlite3_flutter_libs` from `.symlinks/plugins/sqlite3_flutter_libs/ios`
    -> Fetching podspec for `uni_links` from `.symlinks/plugins/uni_links/ios`
    -> Fetching podspec for `url_launcher_ios` from `.symlinks/plugins/url_launcher_ios/ios`
    -> Fetching podspec for `webview_flutter_wkwebview` from `.symlinks/plugins/webview_flutter_wkwebview/ios`
    
    Resolving dependencies of `Podfile`
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_d_d_6.txt exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/d/d/6/ReachabilitySwift/5.0.0/ReachabilitySwift.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_1_6_1.txt exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/1.0.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/1.0.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/1.0.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/1.0.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/1.1.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.0.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.1.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.2.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.3.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.3.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.3.5/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.3.6/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.3.7/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.4.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.4.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.4.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/2.4.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.5/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.6/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.7/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.8/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.9/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.10/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.0.11/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.1.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.1.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.1.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.1.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.2.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.2.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.3.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.3.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.3.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.3.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.3.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.3.5/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.4.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.4.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.4.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.5/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.6/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.5.7/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.6.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.6.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.6.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.8.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/3.8.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.0-beta/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.0-beta2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.0.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.5/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.6/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.1.7/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.2.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.2.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.2.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.0/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.1/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.2/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.3/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.4/DKImagePickerController.podspec.json exists! Returning local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_a_6_2.txt exists! Returning local because checking is only performed in repo update
    
    Comparing resolved specification to the sandbox manifest
      A DKImagePickerController
      A DKPhotoGallery
      A Flutter
      A Intercom
      A PLCrashReporter
      A ReachabilitySwift
      A RollbarCommon
      A RollbarNotifier
      A RollbarPLCrashReporter
      A SDWebImage
      A SwiftyGif
      A connectivity_plus
      A file_picker
      A flutter_native_splash
      A intercom_flutter
      A package_info_plus
      A rollbar_flutter
      A shared_preferences_ios
      A sqlite3
      A sqlite3_flutter_libs
      A uni_links
      A url_launcher_ios
      A webview_flutter_wkwebview
    
    Downloading dependencies
    
    -> Installing DKImagePickerController (4.3.4)
      > Copying DKImagePickerController from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/DKImagePickerController/4.3.4-b512c` to `Pods/DKImagePickerController`
    
    -> Installing DKPhotoGallery (0.0.17)
      > Copying DKPhotoGallery from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/DKPhotoGallery/0.0.17-fdfad` to `Pods/DKPhotoGallery`
    
    -> Installing Flutter (1.0.0)
    
    -> Installing Intercom (14.0.3)
      > Copying Intercom from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/Intercom/14.0.3-068fc` to `Pods/Intercom`
    
    -> Installing PLCrashReporter (1.10.2)
      > Copying PLCrashReporter from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/PLCrashReporter/1.10.2-2a080` to `Pods/PLCrashReporter`
    
    -> Installing ReachabilitySwift (5.0.0)
      > Copying ReachabilitySwift from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/ReachabilitySwift/5.0.0-98503` to `Pods/ReachabilitySwift`
    
    -> Installing RollbarCommon (2.3.4)
      > Copying RollbarCommon from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/RollbarCommon/2.3.4-9a819` to `Pods/RollbarCommon`
    
    -> Installing RollbarNotifier (2.3.4)
      > Copying RollbarNotifier from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/RollbarNotifier/2.3.4-97b17` to `Pods/RollbarNotifier`
    
    -> Installing RollbarPLCrashReporter (2.3.4)
      > Copying RollbarPLCrashReporter from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/RollbarPLCrashReporter/2.3.4-bf0e7` to `Pods/RollbarPLCrashReporter`
    
    -> Installing SDWebImage (5.14.2)
      > Copying SDWebImage from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/SDWebImage/5.14.2-b9a73` to `Pods/SDWebImage`
    
    -> Installing SwiftyGif (5.4.3)
      > Copying SwiftyGif from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/SwiftyGif/5.4.3-6c3ea` to `Pods/SwiftyGif`
    
    -> Installing connectivity_plus (0.0.1)
    
    -> Installing file_picker (0.0.1)
    
    -> Installing flutter_native_splash (0.0.1)
    
    -> Installing intercom_flutter (7.5.0)
    
    -> Installing package_info_plus (0.4.5)
    
    -> Installing rollbar_flutter (1.2.0)
    
    -> Installing shared_preferences_ios (0.0.1)
    
    -> Installing sqlite3 (3.40.0)
      > Copying sqlite3 from `/Users/leo/Library/Caches/CocoaPods/Pods/Release/sqlite3/3.40.0-88dd9` to `Pods/sqlite3`
    
    -> Installing sqlite3_flutter_libs (0.0.1)
    
    -> Installing uni_links (0.0.1)
    
    -> Installing url_launcher_ios (0.0.1)
    
    -> Installing webview_flutter_wkwebview (0.0.1)
      - Running pre install hooks
      - Running pre integrate hooks
    
    Generating Pods project
      - Creating Pods project
      - Installing files into Pods project
        - Adding source files
        - Adding frameworks
        - Adding libraries
        - Adding resources
        - Adding development pod helper files
        - Linking headers
      - Installing Pod Targets
        - Installing target `DKImagePickerController` iOS 9.0
          - Generating Info.plist file at `Pods/Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist`
          - Generating module map file at `Pods/Target Support Files/DKImagePickerController/DKImagePickerController.modulemap`
          - Generating umbrella header at `Pods/Target Support Files/DKImagePickerController/DKImagePickerController-umbrella.h`
          - Generating Info.plist file at `Pods/Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/DKImagePickerController/DKImagePickerController-dummy.m`
        - Installing target `DKPhotoGallery` iOS 9.0
          - Generating Info.plist file at `Pods/Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist`
          - Generating module map file at `Pods/Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap`
          - Generating umbrella header at `Pods/Target Support Files/DKPhotoGallery/DKPhotoGallery-umbrella.h`
          - Generating Info.plist file at `Pods/Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/DKPhotoGallery/DKPhotoGallery-dummy.m`
        - Installing target `Flutter` iOS 11.0
        - Installing target `Intercom` iOS 13.0
        - Installing target `PLCrashReporter` iOS 9.0
        - Installing target `ReachabilitySwift` iOS 8.0
          - Generating module map file at `Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap`
          - Generating umbrella header at `Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-umbrella.h`
          - Generating Info.plist file at `Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-dummy.m`
        - Installing target `RollbarCommon` iOS 13.0
          - Copying module map file to `Pods/Target Support Files/RollbarCommon/RollbarCommon.modulemap`
          - Generating Info.plist file at `Pods/Target Support Files/RollbarCommon/RollbarCommon-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/RollbarCommon/RollbarCommon-dummy.m`
        - Installing target `RollbarNotifier` iOS 13.0
          - Copying module map file to `Pods/Target Support Files/RollbarNotifier/RollbarNotifier.modulemap`
          - Generating Info.plist file at `Pods/Target Support Files/RollbarNotifier/RollbarNotifier-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/RollbarNotifier/RollbarNotifier-dummy.m`
        - Installing target `RollbarPLCrashReporter` iOS 13.0
          - Copying module map file to `Pods/Target Support Files/RollbarPLCrashReporter/RollbarPLCrashReporter.modulemap`
          - Generating Info.plist file at `Pods/Target Support Files/RollbarPLCrashReporter/RollbarPLCrashReporter-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/RollbarPLCrashReporter/RollbarPLCrashReporter-dummy.m`
        - Installing target `SDWebImage` iOS 9.0
          - Generating module map file at `Pods/Target Support Files/SDWebImage/SDWebImage.modulemap`
          - Generating umbrella header at `Pods/Target Support Files/SDWebImage/SDWebImage-umbrella.h`
          - Generating Info.plist file at `Pods/Target Support Files/SDWebImage/SDWebImage-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m`
        - Installing target `SwiftyGif` iOS 9.0
          - Generating module map file at `Pods/Target Support Files/SwiftyGif/SwiftyGif.modulemap`
          - Generating umbrella header at `Pods/Target Support Files/SwiftyGif/SwiftyGif-umbrella.h`
          - Generating Info.plist file at `Pods/Target Support Files/SwiftyGif/SwiftyGif-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/SwiftyGif/SwiftyGif-dummy.m`
        - Installing target `connectivity_plus` iOS 9.0
          - Generating module map file at `Pods/Target Support Files/connectivity_plus/connectivity_plus.modulemap`
          - Generating umbrella header at `Pods/Target Support Files/connectivity_plus/connectivity_plus-umbrella.h`
          - Generating Info.plist file at `Pods/Target Support Files/connectivity_plus/connectivity_plus-Info.plist`
          - Generating dummy source at `Pods/Target Support Files/connectivity_plus/connectivity_plus-dummy.m`
        - Installing target `file_picker` iOS 8.0
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update
    
    ――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
    
    ### Command
    
    ```
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/bin/pod install --verbose
    ```
    
    ### Report
    
    * What did you do?
    
    * What did you expect to happen?
    
    * What happened instead?
    
    
    ### Stack
    
    ```
       CocoaPods : 1.11.3
            Ruby : ruby 3.2.0 (2022-12-25 revision a528908271) [arm64-darwin21]
        RubyGems : 3.4.2
            Host : macOS 12.6 (21G115)
           Xcode : 14.1 (14B47b)
             Git : git version 2.37.1 (Apple Git-137.1)
    Ruby lib dir : /opt/homebrew/Cellar/ruby/3.2.0/lib
    Repositories : trunk - CDN - https://cdn.cocoapods.org/
    ```
    
    ### Plugins
    
    ```
    cocoapods-deintegrate : 1.0.5
    cocoapods-plugins     : 1.0.0
    cocoapods-search      : 1.0.1
    cocoapods-trunk       : 1.6.0
    cocoapods-try         : 1.2.0
    ```
    
    ### Podfile
    
    ```ruby
    # Uncomment this line to define a global platform for your project
    # platform :ios, '11.0'
    
    # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
    ENV['COCOAPODS_DISABLE_STATS'] = 'true'
    
    project 'Runner', {
      'Debug' => :debug,
      'Profile' => :release,
      'Release' => :release,
    }
    
    def flutter_root
      generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
      unless File.exist?(generated_xcode_build_settings_path)
        raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
      end
    
      File.foreach(generated_xcode_build_settings_path) do |line|
        matches = line.match(/FLUTTER_ROOT\=(.*)/)
        return matches[1].strip if matches
      end
      raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
    end
    
    require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
    
    flutter_ios_podfile_setup
    
    Pod::PICKER_AUDIO = false
    Pod::PICKER_DOCUMENT = false
    
    target 'Runner' do
      use_frameworks!
      use_modular_headers!
    
      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
    end
    
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
      end
    end
    ```
    
    ### Error
    
    ```
    NoMethodError - undefined method `=~' for [["PICKER_MEDIA=1"]]:Array
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block (2 levels) in merged_xcconfigs'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `all?'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block in merged_xcconfigs'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each_with_object'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `merged_xcconfigs'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:1057:in `block in <class:PodTargetSettings>'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:120:in `block in define_build_settings_method'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:177:in `block in
    remove_pod_target_xcconfig_overrides_from_target'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `each'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in
    `remove_pod_target_xcconfig_overrides_from_target'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:157:in `block in add_target'
    <internal:kernel>:90:in `tap'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:156:in `add_target'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:47:in `block in install!'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:40:in `install!'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:115:in `block in install_pod_targets'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `map'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `install_pod_targets'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:32:in `block in install_all_pod_targets'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:31:in `install_all_pod_targets'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:19:in `generate!'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:314:in `block in create_and_save_projects'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:309:in `create_and_save_projects'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:301:in `generate_pods_project'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:180:in `integrate'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:167:in `install!'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/bin/pod:25:in `load'
    /opt/homebrew/Cellar/cocoapods/1.11.3_1/libexec/bin/pod:25:in `<main>'
    ```
    
    ――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
    
    [!] Oh no, an error occurred.
    
    Search for existing GitHub issues similar to yours:
    https://github.com/CocoaPods/CocoaPods/search?q=undefined+method+%60%3D~%27+for+%5B%5B%22PICKER_MEDIA%3D1%22%5D%5D%3AArray&type=Issues
    
    If none exists, create a ticket, with the template displayed above, on:
    https://github.com/CocoaPods/CocoaPods/issues/new
    
    Be sure to first read the contributing guide for details on how to properly submit a ticket:
    https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
    
    Don't forget to anonymize any private data!
    
    Looking for related issues on cocoapods/cocoapods...
    Found no similar issues. To create a new issue, please visit:
    https://github.com/cocoapods/cocoapods/issues/new
    

    Error output from CocoaPods: ↳

    [!] Automatically assigning platform `iOS` with version `13.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See
    `https://guides.cocoapods.org/syntax/podfile.html#platform`.
    

    Flutter Version details [βœ“] Flutter (Channel stable, 3.3.8, on macOS 12.6 21G115 darwin-arm, locale en-IT) β€’ Flutter version 3.3.8 on channel stable at /Users/leo/development/flutter β€’ Upstream repository https://github.com/flutter/flutter.git β€’ Framework revision 52b3dc25f6 (9 weeks ago), 2022-11-09 12:09:26 +0800 β€’ Engine revision 857bd6b74c β€’ Dart version 2.18.4 β€’ DevTools version 2.15.0

    [βœ“] Android toolchain - develop for Android devices (Android SDK version 33.0.0) β€’ Android SDK at /Users/leo/Library/Android/sdk β€’ Platform android-33, build-tools 33.0.0 β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java β€’ Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) β€’ All Android licenses accepted.

    [βœ“] Xcode - develop for iOS and macOS (Xcode 14.1) β€’ Xcode at /Applications/Xcode.app/Contents/Developer β€’ Build 14B47b β€’ CocoaPods version 1.11.3

    [βœ“] Chrome - develop for the web β€’ Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

    [βœ“] Android Studio (version 2021.3) β€’ Android Studio at /Applications/Android Studio.app/Contents β€’ Flutter plugin can be installed from: πŸ”¨ https://plugins.jetbrains.com/plugin/9212-flutter β€’ Dart plugin can be installed from: πŸ”¨ https://plugins.jetbrains.com/plugin/6351-dart β€’ Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

    [βœ“] VS Code (version 1.74.2) β€’ VS Code at /Applications/Visual Studio Code.app/Contents β€’ Flutter extension version 3.56.0

    [βœ“] Connected device (3 available) β€’ iPhone 14 Pro Max (mobile) β€’ AA154037-74FD-4CF2-8E25-04607BFA149A β€’ ios β€’ com.apple.CoreSimulator.SimRuntime.iOS-16-1 (simulator) β€’ macOS (desktop) β€’ macos β€’ darwin-arm64 β€’ macOS 12.6 21G115 darwin-arm β€’ Chrome (web) β€’ chrome β€’ web-javascript β€’ Google Chrome 108.0.5359.124

    [βœ“] HTTP Host Availability β€’ All required HTTP hosts are available

    THANKS FOR YOUR HELP IN ADVANCE

    new issue 
    opened by LeonardoMussato 0
  • Pick PDF file with Android 13

    Pick PDF file with Android 13

    Hello there,

    I would like to use the file_picker to let the user import PDF files. With Android versions lower than 13 it works without any issues. On Android 13, there is no file browser opened as soon as I want to pick a file. As it seems there are permissions missing to open the file browser or rather to load PDF files. The PDF files are generated elsewhere.

    Does some have advice on this? I am using version 5.2.4 of the file_picker plugin.

    My AndroidManifest looks like this:

      <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
      <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
      <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
        android:maxSdkVersion="32" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="29" />
    

    Best regards and thanks in advance!

    opened by MSKoWa 0
  • Dismissing file picker modal on iOS with drag down gesture can crash the app

    Dismissing file picker modal on iOS with drag down gesture can crash the app

    Describe the bug There is an issue with dismissing File picker modal on iOS with drag down gesture. When opening file picker multiple times the app can crash.

    Platform

    • [ ] Android
    • [x] iOS
    • [ ] Web
    • [ ] Desktop

    Platform OS version 16.1

    How are you picking?

      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(title: const Text('file_picker issue')),
            body: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  ElevatedButton(
                      onPressed: () {
                        try {
                          FilePicker.platform.pickFiles();
                        } on PlatformException catch (_) {}
                      },
                      child: const Text('pick file')),
                ],
              ),
            ),
          ),
        );
      }
    

    Details to reproduce the issue Using the snippet above I'm quickly opening File picker and closing it using drag down gesture to dismiss modal (issue is not happening if I'm using Cancel button). After few times I start to get Platform Exceptions:

    MethodChannelFilePicker] Platform exception: PlatformException(multiple_request, Cancelled by a second request, null, null)
    

    This is fine and can be treated as expected. But after few more tries the app crashes.

    Error Log Crash log:

        frame #0: 0x0000000103828840 file_picker`-[FilePickerPlugin documentPickerWasCancelled:](self=0x0000000282cf1450, _cmd="documentPickerWasCancelled:", controller=0x000000013a205170) at FilePickerPlugin.m:614:5
       611 	#ifdef PICKER_DOCUMENT
       612 	- (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller {
       613 	    Log(@"FilePicker canceled");
    -> 614 	    _result(nil);
        	    ^
       615 	    _result = nil;
       616 	    [controller dismissViewControllerAnimated:YES completion:NULL];
       617 	}
    Target 0: (Runner) stopped.
    

    Screenshots and/or video Exception caught in Xcode: Screenshot 2023-01-05 at 09 22 54

    Additional context It seems that in delegate method _result can be null. Probably it is an easy fix in FilePickerPlugin.m:

    #ifdef PICKER_AUDIO
    - (void)mediaPickerDidCancel:(MPMediaPickerController *)controller {
        Log(@"FilePicker canceled");
        if(_result != nil) {
            _result(nil);
            _result = nil;
        }
        [controller dismissViewControllerAnimated:YES completion:NULL];
    }
    #endif // PICKER_AUDIO
    
    #ifdef PICKER_DOCUMENT
    - (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller {
        Log(@"FilePicker canceled");
        if(_result != nil) {
            _result(nil);
            _result = nil;
        }
        [controller dismissViewControllerAnimated:YES completion:NULL];
    }
    #endif // PICKER_DOCUMENT
    
    #ifdef PICKER_MEDIA
    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
        Log(@"FilePicker canceled");
        if(_result != nil) {
            _result(nil);
            _result = nil;
        }
        [picker dismissViewControllerAnimated:YES completion:NULL];
    }
    #endif
    
    new issue 
    opened by tobolski 0
  • Update the file_picker plugin with the latest version of the open_file plugin

    Update the file_picker plugin with the latest version of the open_file plugin

    I used the latest version of the file_picker plugin (v5.2.4). But this plugin used the deprecated version of the open_file plugin (v2.0.1). As result, I can't use the latest version of the open_file plugin in my app.

    Error Log

    Because no versions of file_picker match >5.2.4 <6.0.0 and file_picker 5.2.4 depends on ffi ^2.0.1, file_picker ^5.2.4 requires ffi ^2.0.1.
    Because open_file >=3.1.0 depends on ffi ^1.0.0 and open_file >=3.0.0 <3.1.0 depends on ffi ^0.1.3, open_file >=3.0.0 requires ffi ^0.1.3 or ^1.0.0.
    Thus, file_picker ^5.2.4 is incompatible with open_file >=3.0.0.
    So, because picker_example depends on both file_picker ^5.2.4 and open_file ^3.0.1, version solving failed.
    
    new issue 
    opened by KalaliEhsan 0
  • Bug with FileType.custom and allowedExtensions param

    Bug with FileType.custom and allowedExtensions param

    Describe the bug In my company we are using the file_picker plugin to allow the users load pdf files into a chat. We are using the following code to reach that:

    var pdf = await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['pdf']);

    However we saw that with that code, the users can select media files too (photos, videos, etc). In some android versions exist a "hamburger menu" that allows the user selects other folder, like photos folder, where the user can choose wherever media file.

    I was testing with the example code that was provided by file_picker devs, but I saw the same problem:

    Captura de pantalla 2023-01-04 a la(s) 11 52 03 a m Captura de pantalla 2023-01-04 a la(s) 11 52 10 a m Captura de pantalla 2023-01-04 a la(s) 11 52 21 a m Captura de pantalla 2023-01-04 a la(s) 11 52 33 a m Captura de pantalla 2023-01-04 a la(s) 11 52 44 a m Captura de pantalla 2023-01-04 a la(s) 11 52 53 a m

    Platform

    • [X] Android
    • [ ] iOS
    • [ ] Web
    • [ ] Desktop

    Platform OS version I Tested the app with android 9.0 and android 12.0

    Details to reproduce the issue

    1. Use the same following code to select only pdf files

    var pdf = await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['pdf']);

    1. Then, you will see a screen that allow select the media files. Search a menu that allows you change the current folder

    Captura de pantalla 2023-01-04 a la(s) 11 52 10 a m

    Captura de pantalla 2023-01-04 a la(s) 11 52 21 a m

    1. Choose for example the photos folder

    Captura de pantalla 2023-01-04 a la(s) 11 52 33 a m

    1. Select wherever media file

    Captura de pantalla 2023-01-04 a la(s) 11 52 44 a m

    Captura de pantalla 2023-01-04 a la(s) 11 52 53 a m

    new issue 
    opened by JulioCe98 0
  • File Picker Result in WebApp returns cancelled even files are picked on slow networks

    File Picker Result in WebApp returns cancelled even files are picked on slow networks

    Describe the bug Sporadically the timeout in the following function is reached in a WebApp when selecting files from slow networks (VPN connection, ...) Thus it looks like the dialog is cancelled even files are selected. Since this happens sporadically I think I am sometimes slightly above the 500ms, Of course the timeout can be extended in src code thus the selection will work with the drawback that the cancel detection takes longer.

    This is the code part causing the issue

    // This listener is called before the input changed event,
      // and the `uploadInput.files` value is still null
      // Wait for results from js to dart
      Future.delayed(Duration(milliseconds: 500)).then((value) {
        if (!changeEventTriggered) {
          changeEventTriggered = true;
          filesCompleter.complete(null);
        }
      });
    }`
    

    Solutions: Seperate cancel from file picking. If files are picked wait until data is completed. Provide the timeout value as parameter of the pickFiles() function

    Platform

    • [ ] Android
    • [ ] iOS
    • [x] Web
    • [ ] Desktop

    Version file_picker 5.2.4

    new issue 
    opened by getr11 1
Releases(5.1.0)
Owner
Miguel Ruivo
Mobile developer, in love with @flutter. Community lead of @FlutterPortugal. Volunteer developer @vostpt. Part-time teacher @isec-aet, full time learner.
Miguel Ruivo
A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!

BlueBubbles Android App BlueBubbles is an open-source and cross-platform ecosystem of apps aimed to bring iMessage to Android, Windows, Linux, and mor

BlueBubbles 318 Jan 8, 2023
An 🎡 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.

βœ’ libwinmedia is sequel to this project. It provides network playback, better format support, control & features. An audio playback library for Flutte

Hitesh Kumar Saini 50 Oct 31, 2022
A pure Dart implementation of Firebase with initial support aimed at FlutterFire for Linux & Windows.

FlutterFire Desktop A work in progress pure Dart implementation of Firebase with initial support aimed at FlutterFire for Linux & Windows. A FlutterFi

Invertase 293 Jan 4, 2023
A Flutter plugin to read πŸ”– metadata of 🎡 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Harmonoid 60 Dec 2, 2022
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter

quick_usb A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter Usage List devices List devices with additional description Get device

Woodemi Co., Ltd 39 Oct 1, 2022
AuthPass - Password Manager based on Flutter for all platforms. Keepass 2.x (kdbx 3.x) compatible.

AuthPass.app - Open Source Password Manager for mobile and desktop AuthPass - Password Manager based on Flutter for all platforms. Keepass 2.x (kdbx 3

AuthPass 1.5k Jan 3, 2023
TinyPNG4Flutter - A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS and windows

TinyPNG4Flutter A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS

ι€Έι£Ž 20 Dec 8, 2022
Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

go-flutter - A package that brings Flutter to the desktop Purpose Flutter allows you to build beautiful native apps on iOS and Android from a single c

null 5.5k Jan 6, 2023
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Hitesh Kumar Saini 417 Dec 29, 2022
Flutter library for window blur & transparency effects for on Windows & Linux. πŸ’™

flutter_acrylic Window blur & transparency effects for Flutter on Windows & Linux Installation Mention in your pubspec.yaml. dependencies: ... flu

Hitesh Kumar Saini 437 Dec 31, 2022
A simple-to-use flutter update package for Windows, MacOS, and Linux.

Updat - The simple-to-use, flutter-based desktop update package Updat is a simple-to-use reliable flutter-native updater that handles your application

Eduardo M. 14 Dec 21, 2022
🎡 A cross-platform media playback library for C/C++ with good number of features (only Windows & Linux).

libwinmedia A cross-platform media playback library for C/C++ & Flutter with good number of features. Example A very simple example can be as follows.

Harmonoid 38 Nov 2, 2022
Pure Dart Argon2 algorithm (the winner of the Password Hash Competition 2015) for all Dart platforms (JS/Web, Flutter, VM/Native).

argon2 Pure Dart Argon2 algorithm (the winner of the Password Hash Competition 2015) for all Dart platforms (JS/Web, Flutter, VM/Native). Based on the

Graciliano Monteiro Passos 8 Dec 22, 2021
Android-Toolbox is a desktop app which enables the user to access android device features which are not accessible directly from the mobile device

Android-Toolbox is a desktop app which enables the user to access android device features which are not accessible directly from the mobile device. One of Android-Toolbox's special feature is to transfer files at the highest speed using ADB push and pull bypassing a lot of Android API overheads.

Sashank Visweshwaran 30 Dec 26, 2022
Simple file explorer for desktop made with Flutter, highly inspired by macOS Finder

file_explorer A basic file explorer made with Flutter Getting Started This project is a starting point for a Flutter application. A few resources to g

Valentin 0 Nov 7, 2021
A platform adaptive Flutter app for desktop, mobile and web.

Flutter Folio A demo app showcasing how Flutter can deliver a great multi-platform experience, targeting iOS, Android, MacOS, Windows, Linux, and web.

gskinner team 3.5k Jan 2, 2023
A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

EN | δΈ­ζ–‡ Touch Display Lite plugin for Volumio 3 Feng Zhou, 2021-12 Touch Display Lite is a clean and fast user interface for Volumio 3, the Linux dist

Feng Zhou 5 Jul 26, 2022
A cross-platform (Windows/macOS) scanner plugin for Flutter

quick_scanner A cross-platform (Windows/macOS) scanner plugin for Flutter Usage QuickScanner.startWatch(); var _scanners = await QuickScanner.getScan

Woodemi Co., Ltd 5 Jun 10, 2022
A push notification application for multiple platforms

notifi.it App | Website | Backend Run locally create an .env with the example content SERVER_KEY=Hu2J7b7xA8MndeNS KEY_STORE=notifi-local DEV=true TLS=

Maximilian Mitchell 34 Nov 3, 2022