Skip to content

[various] Update iOS example apps to the 15.0 deployment target - #13223

Merged
auto-submit[bot] merged 5 commits into
flutter:mainfrom
okorohelijah:xcode27-ios15-deployment-target
Oct 16, 2026
Merged

auto-submit[bot] merged 5 commits into
flutter:mainfrom
okorohelijah:xcode27-ios15-deployment-target

Conversation

@okorohelijah

@okorohelijah okorohelijah commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Checks in the iOS 15.0 deployment target for the example apps, so the tree matches what CI actually builds.

Xcode 27 only accepts iOS deployment targets of 15.0 and up. The CI side of that — the --ios-min-version flag on the xcode analyze deprecation step, which was the actual failure in the issue — has already landed in #13211 (it went to 16.0), so that file is no longer part of this PR.

What's left here is the example projects: 44 example/ios/Runner.xcodeproj/project.pbxproj files and the three remaining Podfiles still said 13.0 or 14.0. flutter build ios already rewrites these to 15.0 in place during build examples (the migration logs Updating minimum iOS deployment target to 15.0.), so CI was never building at 13.0; checking in the migrated values stops the files showing up as modified after a local build and makes the checked-in projects match Flutter's minimum. The stale "only supports back to iOS 14" comment in the google_maps_flutter example Podfile is replaced with the template's standard line.

Plugin minimums (podspec / Package.swift) are not changed here; that is a per-package decision like #13224 made for image_picker_ios.

Verified on Xcode 27 before #13211 landed, with this branch plus the Xcode 27 CI experiment config: shard 1 https://ci.chromium.org/b/8668096608488894433 and shards 2–5 https://ci.chromium.org/b/8668086846834062161, https://ci.chromium.org/b/8668086845504323249, https://ci.chromium.org/b/8668086844011129681, https://ci.chromium.org/b/8668086842838050321 — build examples no longer prints any migration lines and the analyze steps pass; the remaining native test failures in three of those are unrelated Xcode 27 issues (flutter/flutter#194284, flutter/flutter#194285).

Part of flutter/flutter#194019

Pre-Review Checklist

Version/CHANGELOG: CI configuration and unpublished example project files only; no package code or published files change, so no version bumps (same as #11227).

Tests: CI config and project-file change only; no testable code.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

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. ↩ ↩2

Xcode 27 only supports iOS deployment targets 15.0 and up. The
"xcode analyze deprecation" CI step passes IPHONEOS_DEPLOYMENT_TARGET=14.0
on the xcodebuild command line (via --ios-min-version=14.0), which
overrides the deployment target of every target in the build and now
fails on every iOS plugin example:

  error: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET'
  is set to 14.0, but the range of supported deployment target versions
  is 15.0 to 27.0.x.

Flutter's own minimum (stable and master) is already iOS 15, so this
also updates the example apps' project files and Podfiles from 13.0/14.0
to 15.0. The Flutter tool already rewrites these to 15.0 in place during
`flutter build ios`, so checking in the migrated values just keeps the
tree clean and matches what CI actually builds.

No plugin minimums (podspec / Package.swift) change in this PR.

Part of flutter/flutter#194019

@jmagman jmagman left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Flutter's minimum on both stable and master is already iOS 15, so the deprecation check keeps the same meaning it had: "don't use anything deprecated at or below the lowest version we support".

I think this first needs the packages to support a minimum of 3.47? Right now they are on 3.41, as of #12959.

flutter/flutter@5ead723 was first available on 3.47.

@jmagman

jmagman commented Oct 13, 2026

Copy link
Copy Markdown
Member

I think this first needs the packages to support a minimum of 3.47? Right now they are on 3.41, as of #12959.

Plugin minimums (podspec / Package.swift) are not changed here. Raising those to iOS 15 is a separate decision that needs version bumps and a flutter: ">=3.47.0" constraint, like #10231 did for iOS 13.

Ah I see you're addressing that, this is only touching examples.

@vashworth vashworth added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 14, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 14, 2026
@auto-submit

auto-submit Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/packages/13223, because This PR has not met approval requirements for merging. Changes were requested by {jmagman}, please make the needed changes and resubmit this PR.
The PR author is a member of flutter-hackers and needs 1 more review(s) in order to merge this PR.

  • Merge guidelines: A PR needs at least one approved review if the author is already part of flutter-hackers or two member reviews if the author is not a member of flutter-hackers before re-applying the autosubmit label. Reviewers: If you left a comment approving, please use the "approve" review action instead.

@auto-submit

auto-submit Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/packages/13223, because - The status or check suite Dashboard Checks has failed. Please fix the issues identified (or deflake) before re-applying this label.

@okorohelijah

Copy link
Copy Markdown
Contributor Author

Blocked on flutter/flutter#194407

auto-submit Bot pushed a commit that referenced this pull request Oct 15, 2026
`pendingFonts waits for fonts to be loaded` fails on roughly 3 out of 10 runs of `Windows_x64 dart_unit_tests_shard_1`, and only for PRs that make the tool run every package (`.ci/`, `script/`, Flutter rolls, ...), so it never shows up in postsubmit and blocks exactly the PRs that can't avoid it. The history and the analysis are in flutter/flutter#194407; the short version:

- The three `expect`s in the test pass on every platform. The failure is a late error that flips an already-passed test to failed (the CI log shows the pass counter dropping from `+92` to `+91 -1` with no `[E]` block).
- After the mock HTTP fetch, `_httpFetchFontAndSaveToDevice` writes the font to the application support directory without awaiting the result. The test does not fake `PathProviderPlatform`, so under `flutter test` that write fails with `MissingPluginException` inside the dropped future, after the test body has returned. This file has a single test, so whether the runner is still attached when the error lands is a timing question; Linux consistently loses the error, Windows regularly does not.
- Keeping the test alive for two seconds after its last `expect` reproduces the error on Linux every time.

This change installs the same `FakePathProviderPlatform` pointing at a temp directory that `load_font_if_necessary_test.dart` already uses, so the background write succeeds and there is no straggler error. With the change, the "wait two seconds" variant passes.

Test-only change, so no version or CHANGELOG update (exempt category: PRs that only affect tests).

Fixes flutter/flutter#194407
Unblocks #13223

## Pre-Review Checklist

[^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.
Comment thread .ci/targets/ios_platform_tests.yaml Outdated
…yment-target

# Conflicts:
#	.ci/targets/ios_platform_tests.yaml
@okorohelijah okorohelijah changed the title [ci][various] Raise iOS deployment target floor to 15.0 for Xcode 27 [various] Update iOS example apps to the 15.0 deployment target Oct 15, 2026
@okorohelijah okorohelijah added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 15, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 15, 2026
@auto-submit

auto-submit Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/packages/13223, because - The status or check suite Dashboard Checks has failed. Please fix the issues identified (or deflake) before re-applying this label.

@okorohelijah okorohelijah added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 16, 2026
@auto-submit
auto-submit Bot merged commit 2625b7f into flutter:main Oct 16, 2026
13 checks passed
gmackall pushed a commit to gmackall/flutter that referenced this pull request Oct 16, 2026
…r#194564)

flutter/packages@da40eaf...93eede7

2026-10-16 41930132+hellohuanlin@users.noreply.github.com [camera]fix a
crash when switching camera while recording due to disconnected
capturePhotoOputput (flutter/packages#13248)
2026-10-16 okorohelijah@google.com [various] Update iOS example apps to
the 15.0 deployment target (flutter/packages#13223)
2026-10-16 36861262+QuncCccccc@users.noreply.github.com [material_ui]
Add M3E `IconButton` example (flutter/packages#13085)
2026-10-15 magder@google.com [ci] Increase deprecation check minimum to
iOS 16 (flutter/packages#13211)
2026-10-15 victor.orozco@cloudsufi.com [google_sign_in] Remove the
public iOS handleOpen helper (flutter/packages#13273)
2026-10-15 okorohelijah@google.com [google_fonts] Make the pendingFonts
test deterministic (flutter/packages#13262)
2026-10-15 48776784+mackings@users.noreply.github.com
[vector_graphics_compiler] Fix tspan transform applied twice
(flutter/packages#13129)
2026-10-15 engine-flutter-autoroll@skia.org Roll Flutter from
426be96 to 5c7e45a (21 revisions) (flutter/packages#13270)
2026-10-15 37883572+edwin-hollen@users.noreply.github.com [flutter_svg]
Add golden widget tests for SVG alpha masks (flutter/packages#13245)

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 flutter-ecosystem@google.com 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
…r#194564)

flutter/packages@da40eaf...93eede7

2026-10-16 41930132+hellohuanlin@users.noreply.github.com [camera]fix a
crash when switching camera while recording due to disconnected
capturePhotoOputput (flutter/packages#13248)
2026-10-16 okorohelijah@google.com [various] Update iOS example apps to
the 15.0 deployment target (flutter/packages#13223)
2026-10-16 36861262+QuncCccccc@users.noreply.github.com [material_ui]
Add M3E `IconButton` example (flutter/packages#13085)
2026-10-15 magder@google.com [ci] Increase deprecation check minimum to
iOS 16 (flutter/packages#13211)
2026-10-15 victor.orozco@cloudsufi.com [google_sign_in] Remove the
public iOS handleOpen helper (flutter/packages#13273)
2026-10-15 okorohelijah@google.com [google_fonts] Make the pendingFonts
test deterministic (flutter/packages#13262)
2026-10-15 48776784+mackings@users.noreply.github.com
[vector_graphics_compiler] Fix tspan transform applied twice
(flutter/packages#13129)
2026-10-15 engine-flutter-autoroll@skia.org Roll Flutter from
426be96 to 5c7e45a (21 revisions) (flutter/packages#13270)
2026-10-15 37883572+edwin-hollen@users.noreply.github.com [flutter_svg]
Add golden widget tests for SVG alpha masks (flutter/packages#13245)

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 flutter-ecosystem@google.com 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants