flutter/dev/integration_tests/ios_add2app_life_cycle
Danny Tuppeny cea1d6f055
Unpin DDS and roll pub packages (#147925)
DDS was temporarily pinned to 4.1.0 because 4.2.0 triggered some test
failures (see https://github.com/flutter/flutter/pull/147250). Those
failures should be fixed by vm_service 14.2.2, so this unpins DDS and
rolls both of these packages (along with devtools_shared, which is a DDS
dependency).

(If the bot updates vm_service before this is done, I can rebase over
that will reduce the size of this PR to just a few files)
2024-05-08 10:35:28 +01:00
..
flutterapp Unpin DDS and roll pub packages (#147925) 2024-05-08 10:35:28 +01: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 Migrate Xcode projects last version checks to Xcode 15.1 (#140256) 2024-01-03 23:05:46 +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 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.