Skip to content

[file_selector_ios] Drop deprecated UIDocumentPickerMode code path - #13292

Merged
auto-submit[bot] merged 1 commit into
flutter:mainfrom
jmagman:file-selector-ios-15
Oct 16, 2026
Merged

auto-submit[bot] merged 1 commit into
flutter:mainfrom
jmagman:file-selector-ios-15

Conversation

@jmagman

@jmagman jmagman commented Oct 16, 2026 •

Copy link
Copy Markdown
Member
FileSelectorTests.swift:33:18: error: 'init(documentTypes:in:)' was deprecated in iOS 14.0
FileSelectorTests.swift:33:72: error: 'UIDocumentPickerMode' was deprecated in iOS 14.0: Use appropriate initializers instead

init(forOpeningContentTypes:asCopy: true) is equivalent to the previous .import mode.

Update to Flutter 3.47 which also picks up the iOS 15 minimum. Remove old availability checks.

This wasn't showing up in CI due to flutter/flutter#194517.

Fixes flutter/flutter#128713

Pre-Review Checklist

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the minimum supported iOS version for file_selector_ios to iOS 15, increases the minimum Flutter and Dart SDK requirements, and replaces the deprecated UIDocumentPickerViewController initializer with UIDocumentPickerViewController(forOpeningContentTypes:asCopy:). Feedback recommends defensively handling empty or unresolvable UTIs by falling back to [.item] to prevent potential runtime crashes.

@jmagman jmagman changed the title [file_selector_ios] Require Flutter 3.47 / iOS 15 and drop deprecated UIDocumentPickerMode code path [file_selector] Require Flutter 3.47 / iOS 15 / macOS 12 and drop deprecated UIDocumentPickerMode and allowedFileTypes code paths Oct 16, 2026
@jmagman
jmagman force-pushed the file-selector-ios-15 branch from 594589e to 8250f67 Compare October 16, 2026 18:33
@jmagman jmagman changed the title [file_selector] Require Flutter 3.47 / iOS 15 / macOS 12 and drop deprecated UIDocumentPickerMode and allowedFileTypes code paths [file_selector_ios] Require Flutter 3.47 / iOS 15 and drop deprecated UIDocumentPickerMode code path Oct 16, 2026
@jmagman
jmagman force-pushed the file-selector-ios-15 branch from 8250f67 to 2cf7f11 Compare October 16, 2026 18:36
@jmagman jmagman self-assigned this Oct 16, 2026
@jmagman
jmagman marked this pull request as draft October 16, 2026 18:39
@jmagman jmagman changed the title [file_selector_ios] Require Flutter 3.47 / iOS 15 and drop deprecated UIDocumentPickerMode code path [file_selector_ios] Drop deprecated UIDocumentPickerMode code path Oct 16, 2026
@jmagman

jmagman commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

override: no versioning needed: the file_selector change is README‑only

@jmagman jmagman added the override: no versioning needed Override the check requiring version bumps for most changes label Oct 16, 2026
@jmagman
jmagman marked this pull request as ready for review October 16, 2026 19:12

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the minimum supported iOS version to 15.0 and the Flutter/Dart SDK requirements for the file_selector_ios package. It also replaces the deprecated UIDocumentPickerViewController initializer with the modern forOpeningContentTypes:asCopy: API. Feedback highlights a potential runtime crash if the resolved content types array is empty, suggesting a fallback to [.item] to prevent this issue.

@jmagman
jmagman requested a review from hellohuanlin October 16, 2026 19:30
@jmagman jmagman added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 16, 2026
@auto-submit
auto-submit Bot merged commit e391a79 into flutter:main Oct 16, 2026
13 checks passed
@jmagman
jmagman deleted the file-selector-ios-15 branch October 16, 2026 23:49
opensource-fork-sync Bot pushed a commit to cla7aye15I4nd/opensource-flutter__flutter that referenced this pull request Oct 19, 2026
flutter/packages@93eede7...10a178c

2026-10-19 [email protected] [material_ui]
Fixes SearchAnchor and SearchBar semantics (flutter/packages#12680)
2026-10-17 [email protected] [shared_preferences] switch to ffi/jni
pigeon (flutter/packages#12329)
2026-10-17 [email protected]
[in_app_purchase_storekit] Add show manage subscriptions path
(flutter/packages#12454)
2026-10-17 [email protected] [material_ui] Fix installing command
material UI (flutter/packages#13135)
2026-10-16 [email protected] [file_selector_ios] Drop deprecated
UIDocumentPickerMode code path (flutter/packages#13292)
2026-10-16 [email protected] [camera_avfoundation] Fixes sendability
mismatch in completion handler (flutter/packages#13298)
2026-10-16 [email protected] [local_auth_darwin] Fix Swift 6 concurrency
analyzer errors from lifecycle delegate methods (flutter/packages#13296)
2026-10-16 [email protected] [pointer_interceptor_ios] Use 'let' for
unmutated var (flutter/packages#13297)
2026-10-16 [email protected] [image_picker_ios] Fix Swift warnings in
ImagePickerPluginTests (flutter/packages#13299)
2026-10-16 [email protected] [camera]delete
fake bitrate/fps integration tests (flutter/packages#13291)
2026-10-16 [email protected] [google_maps_flutter_ios] Use 'let' for
unmutated var (flutter/packages#13300)
2026-10-16 [email protected] [VPAT] Declare input purpose on
a11y_assessments text fields (flutter/packages#13243)
2026-10-16 [email protected] [cupertino_ui]
Fix CupertinoMagnifier focalPointOffset animation scaling
(flutter/packages#13118)
2026-10-16 [email protected] [tool] Exempt `test_apps/` from version
and changelog checks (flutter/packages#13255)
2026-10-16 [email protected] [material_ui] Fallback theme
follows platform cherry pick (flutter/packages#13278)
2026-10-16 [email protected] Roll Flutter from
5c7e45a to a3d71d8 (26 revisions) (flutter/packages#13290)
2026-10-16 [email protected] [camera]do not
sleep to avoid hang due to merged thread (flutter/packages#13289)
2026-10-16 [email protected] [camera]fix
camera failure due to wrong jpg extension (flutter/packages#13285)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
suryaKommana2662 pushed a commit to suryaKommana2662/flutter that referenced this pull request Oct 29, 2026
flutter/packages@93eede7...10a178c

2026-10-19 [email protected] [material_ui]
Fixes SearchAnchor and SearchBar semantics (flutter/packages#12680)
2026-10-17 [email protected] [shared_preferences] switch to ffi/jni
pigeon (flutter/packages#12329)
2026-10-17 [email protected]
[in_app_purchase_storekit] Add show manage subscriptions path
(flutter/packages#12454)
2026-10-17 [email protected] [material_ui] Fix installing command
material UI (flutter/packages#13135)
2026-10-16 [email protected] [file_selector_ios] Drop deprecated
UIDocumentPickerMode code path (flutter/packages#13292)
2026-10-16 [email protected] [camera_avfoundation] Fixes sendability
mismatch in completion handler (flutter/packages#13298)
2026-10-16 [email protected] [local_auth_darwin] Fix Swift 6 concurrency
analyzer errors from lifecycle delegate methods (flutter/packages#13296)
2026-10-16 [email protected] [pointer_interceptor_ios] Use 'let' for
unmutated var (flutter/packages#13297)
2026-10-16 [email protected] [image_picker_ios] Fix Swift warnings in
ImagePickerPluginTests (flutter/packages#13299)
2026-10-16 [email protected] [camera]delete
fake bitrate/fps integration tests (flutter/packages#13291)
2026-10-16 [email protected] [google_maps_flutter_ios] Use 'let' for
unmutated var (flutter/packages#13300)
2026-10-16 [email protected] [VPAT] Declare input purpose on
a11y_assessments text fields (flutter/packages#13243)
2026-10-16 [email protected] [cupertino_ui]
Fix CupertinoMagnifier focalPointOffset animation scaling
(flutter/packages#13118)
2026-10-16 [email protected] [tool] Exempt `test_apps/` from version
and changelog checks (flutter/packages#13255)
2026-10-16 [email protected] [material_ui] Fallback theme
follows platform cherry pick (flutter/packages#13278)
2026-10-16 [email protected] Roll Flutter from
5c7e45a to a3d71d8 (26 revisions) (flutter/packages#13290)
2026-10-16 [email protected] [camera]do not
sleep to avoid hang due to merged thread (flutter/packages#13289)
2026-10-16 [email protected] [camera]fix
camera failure due to wrong jpg extension (flutter/packages#13285)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
auto-submit Bot pushed a commit that referenced this pull request Nov 5, 2026
Widens the `GoogleSignIn-iOS` requirement from `9.0.0..<10.0.0` to `9.0.0..<11.0.0` in both the Swift package and the podspec (`~> 9.0` to `>= 9.0, < 11.0`), so apps can resolve GoogleSignIn 10, which allows `gtm-session-fetcher` 4.x and 5.x.

GoogleSignIn 10 requires iOS 15 and macOS 12, and SwiftPM rejects a package whose dependency needs a higher platform than the package declares. This raises the plugin minimums to iOS 15 / macOS 12 (matching Flutter 3.47), updates the macOS example deployment targets, and updates the `google_sign_in` README support table, following #13292.

Apps that also use firebase-ios-sdk 13 (no longer published to CocoaPods) need GoogleSignIn-iOS 10.1.0 or later, which includes google/GoogleSignIn-iOS#626 and widens App Check from 11.x to `11.0.0..<13.0.0`. The range here admits 10.1.0.

Fixes flutter/flutter#194435

## Pre-Review Checklist

Versioning: `google_sign_in` only changes its README (support table) and macOS example, so it's listed under NEXT without a version bump, as in #13292.

Test exemption: manual dependency update with no plugin code changes. The existing native and integration tests run against GoogleSignIn 10 once SwiftPM or CocoaPods resolves it.

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD override: no versioning needed Override the check requiring version bumps for most changes p: file_selector platform-ios

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[file_selector] initWithDocumentTypes:inMode: is deprecated

2 participants