flutter/dev/integration_tests/ios_add2app_life_cycle
David Iglesias a4bc894616
[deps] Update package:web dependency. (#135174)
This PR is the result of running:

```console
$ flutter upgrade-packages --force-upgrade
```

### Issues

* Fixes https://github.com/flutter/flutter/issues/135075
* Supersedes #135081
2023-09-20 22:55:52 +00:00
..
flutterapp [deps] Update package:web dependency. (#135174) 2023-09-20 22:55:52 +00:00
ios_add2app Remove "note that" in our documentation (as per style guide) (#120842) 2023-02-17 22:27:33 +00:00
ios_add2app.xcodeproj Remove iOS version override in ios_add2appTests unit tests (#83361) 2021-05-25 11:44:03 -07:00
ios_add2app.xcworkspace reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
ios_add2appTests Migrate ios_add2app_life_cycle to earlgrey 2 and latest iOS SDK (#80822) 2021-04-21 14:03:59 -07:00
.gitignore reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
build_and_test.sh Migrate ios_add2app_life_cycle to earlgrey 2 and latest iOS SDK (#80822) 2021-04-21 14:03:59 -07:00
Podfile Fix ios_add2app Podfile (#131263) 2023-07-27 18:37:41 +02:00
README.md ✒ Spell Check All .md Files Related to Flutter 💙 (#61564) 2020-07-22 18:23:47 -07:00

iOS Add2App Life Cycle Test

This application demonstrates some basic functionality for Add2App, along with a native iOS ViewController as a baseline and to demonstrate interaction.

The following functionality is currently implemented:

  1. A regular iOS view controller (UIViewController), similar to the default flutter create template (NativeViewController.m).
  2. A FlutterViewController subclass that takes over the full screen. Demos showing this both from a cold/fresh engine state and a warm engine state (FullScreenViewController.m).
  3. A demo of pushing a FlutterViewController on as a child view.
  4. A demo of showing both the native and the Flutter views using a platform channel to interact with each other (HybridViewController.m).
  5. A demo of showing two FlutterViewControllers simultaneously (DualViewController.m).

A few key things are tested here (IntegrationTests.m):

  1. The ability to pre-warm the engine and attach/detach a ViewController from it.
  2. The ability to use platform channels to communicate between views.
  3. The ability to simultaneously run two instances of the engine.
  4. That a FlutterViewController can be freed when no longer in use (also tested from FlutterViewControllerTests.m).
  5. That a FlutterEngine can be freed when no longer in use.