flutter/dev/integration_tests/ios_add2app_life_cycle
Kevin Moore c08e9dff68
Manually update vector_math package (#169476)
Includes fixes and deprecations that will allow us to improve
performance.
2025-05-28 15:55:01 +00:00
..
flutterapp Manually update vector_math package (#169476) 2025-05-28 15:55:01 +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 iOS: Update minimum iOS version to 13.0 (#167737) 2025-04-24 20:15:13 +00: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 Added newline at end of .gitignore files (#141270) 2024-01-12 23:22:11 +00: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 iOS: Update minimum iOS version to 13.0 (#167737) 2025-04-24 20:15:13 +00: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.