解决Flutter报错The method ‘File.create‘ has fewer named arguments than those of overridden method

Problem Description

After updating the Flutter SDK to 3.7.9, the following error message appears when running the project.

Could not build the precompiled application for the device.
Error (Xcode): ../../../.pub-cache/hosted/pub.flutter-io.cn/file-6.1.2/lib/src/interface/file.dart:15:16: Error: The method 'File.create' has fewer named arguments than those of overridden method 'File.create'.


Error launching application on iPhone.

solution

According to the error message, a certain library depends on the 6.1.2 version of the google filelibrary, and File.createthe method requires several parameters.
We enter filethe updated information in the pub to view.
file|dart package: https://pub.flutter-io.cn/packages/file/changelog
file library version update log
As you can see, starting from 6.1.3, createthe method adds a parameter of bool type, so we only need to fileupgrade the version of the library It can be above 6.1.3.

Override library version in project

The most brutal way is pubspec.yamlto specify filethe version of the library directly in the project, so that the version of the library will be unified when compiling.

name: wiki assit
description: A new Flutter application 

# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.2.0+4

environment:
  sdk: ">=2.17.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  # 指定 file 版本,6.1.3及以上就行
  file: ^6.1.4

Use the pub command

Because it is not directly referenced in the project, dependencies can only be resolved through the pub command.
First, clear the cache.

flutter clean.

Then pub upgradeupdate dependencies using

flutter pub upgrade

Wait for the dependency update to complete, and re-run the project to run normally.

Guess you like

Origin blog.csdn.net/adojayfan/article/details/129987976