flutter/examples/platform_channel
auto-submit[bot] 88d184dada
Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (#169250)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168914
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gaaclarke
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting:
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20external_ui_integration_test_ios/16792/overview

The external texture integration test is failing. Running the host app
appeared to work but one of the driver asserts isn't working.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gaaclarke
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {vashworth}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
## **BREAKING CHANGE**

Adopting Apple's UISceneDelegate protocol shifts the initialization
order of apps. For the common cases we've made sure they will work
without change. The one case that will require a change is any app that
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]` assumes that
`UIApplicationDelegate.window.rootViewController` is a
`FlutterViewController` instance. This is sometimes done to register
platform channels directly on the `FlutterViewController`. Instead users
should use the `FlutterPluginRegistry` API's to create platform channels
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like
`FlutterPlugin`s do.

An example can be seen here:
https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee

## Changes since revert
Device lab tests have been migrated to using the FlutterPlugin API for
creating platform channels at process launch.

## Description
fixes: https://github.com/flutter/flutter/issues/167267

design doc:

https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0

relands https://github.com/flutter/flutter/pull/168396

## 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].
- [x] 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.

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-22 03:32:21 +00:00
..
android Convert AppLinkSettings to kotlin (#164391) 2025-03-11 17:00:17 +00:00
ios Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (#169250) 2025-05-22 03:32:21 +00:00
lib Auto-format Framework (#160545) 2024-12-19 20:06:21 +00:00
linux Fix crash in Linux platform channel example. (#155735) 2024-10-01 13:09:49 +13:00
macos macOS: Update minimum macOS version to 10.15 (#168101) 2025-05-01 04:02:25 +00:00
test Fix crash in Linux platform channel example. (#155735) 2024-10-01 13:09:49 +13:00
test_driver Auto-format Framework (#160545) 2024-12-19 20:06:21 +00:00
windows [Windows] Drop support for Windows 7/8 apps in template (#146668) 2024-04-12 01:07:20 +00:00
pubspec.yaml Roll pub packages (#168509) 2025-05-08 00:50:25 +00:00
README.md Update flutter.dev links from misc packages to more permanent destinations (#150532) 2024-06-20 23:09:08 +00:00

Example of calling platform services from Flutter

This project demonstrates how to connect a Flutter app to platform-specific services.

You can read more about accessing platform and third-party services in Flutter.

iOS

You can use the commands flutter build and flutter run from the app's root directory to build/run the app or you can open ios/Runner.xcworkspace in Xcode and build/run the project as usual.

Android

You can use the commands flutter build and flutter run from the app's root directory to build/run the app or to build with Android Studio, open the android folder in Android Studio and build the project as usual.

Windows

You can use the commands flutter build and flutter run from the app's root directory to build/run the app or you can build once then open build\windows\platform_channel.sln in Visual Studio to build and run.