Skip to content

CP: Pause UIScene migration (#170490) #170569

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: flutter-3.34-candidate.0
Choose a base branch
from

Conversation

vashworth
Copy link
Contributor

@vashworth vashworth commented Jun 13, 2025

CP of #170490

This PR rolls back auto-migrating iOS apps to UIScene lifecycle. It also updates tests to ensure things work in both a state where UIScene lifecycle is already adopted and when it isn't.

A number of UIScene issues have emerged since landing this in master: #170171

In addition, there's is disagreement over how some of it is implemented.

Impacted Users: All Flutter iOS developers
Impact Description: Some method channels may crash and apps using app lifecycle events may not work properly.
Workaround: Manually removing UIApplicationSceneManifest from Info.plist and potentially also update AppDelegate.swift.
Risk: Low
Test Coverage: Yes
Validation Steps: Run flutter build ios and see that UIApplicationSceneManifest if not added to Info.plist.

UIScene migration is not yet enforced by Apple so we have some more time
to handle this. Let's pause on auto-migrating projects.

Reland of flutter#170457.

This PR differs as it keeps our tests migrated to UI Scene lifecycle.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
@flutter-dashboard
Copy link

This pull request was opened from and to a release candidate branch. This should only be done as part of the official Flutter release process. If you are attempting to make a regular contribution to the Flutter project, please close this PR and follow the instructions at Tree Hygiene for detailed instructions on contributing to Flutter.

Reviewers: Use caution before merging pull requests to release branches. Ensure the proper procedure has been followed.

@github-actions github-actions bot added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. d: examples Sample code and demos team-ios Owned by iOS platform team labels Jun 13, 2025
@vashworth vashworth marked this pull request as ready for review June 13, 2025 14:26
@vashworth vashworth requested review from a team and matanlurey as code owners June 13, 2025 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
d: examples Sample code and demos platform-ios iOS applications specifically team-ios Owned by iOS platform team tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants