flutter/dev/integration_tests/ios_add2app_life_cycle
2020-07-09 23:01:22 +02:00
..
flutterapp use nnbd deps (#61177) 2020-07-09 23:01:22 +02:00
ios_add2app reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
ios_add2app.xcodeproj Make module run script names unique (#60228) 2020-06-24 16:52:01 -07:00
ios_add2app.xcworkspace reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
ios_add2appTests reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
.gitignore reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
build_and_test.sh reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
Podfile reland add lifecycle enum and remove workaround (#49368) 2020-01-27 10:38:02 -08:00
README.md Simple repeating word fixes (#51871) 2020-03-03 11:13:07 -08: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 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/detatch 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.