Use new project template (#10378)

diff --git a/dev/integration_tests/ui/ios/Runner.xcodeproj/project.pbxproj b/dev/integration_tests/ui/ios/Runner.xcodeproj/project.pbxproj
index 0b4c7bc..0a4fe07 100644
--- a/dev/integration_tests/ui/ios/Runner.xcodeproj/project.pbxproj
+++ b/dev/integration_tests/ui/ios/Runner.xcodeproj/project.pbxproj
@@ -7,10 +7,10 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		1498D2341E8E89220040F4C2 /* PluginRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* PluginRegistry.m */; };
 		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
 		3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
 		3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		74970F771EDC361B000507F3 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 74970F761EDC361B000507F3 /* GeneratedPluginRegistrant.m */; };
 		9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
 		9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
 		9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
@@ -38,10 +38,10 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		1498D2321E8E86230040F4C2 /* PluginRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PluginRegistry.h; sourceTree = "<group>"; };
-		1498D2331E8E89220040F4C2 /* PluginRegistry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PluginRegistry.m; sourceTree = "<group>"; };
 		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
 		3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
+		74970F751EDC361B000507F3 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
+		74970F761EDC361B000507F3 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
 		7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -104,14 +104,14 @@
 		97C146F01CF9000F007C117D /* Runner */ = {
 			isa = PBXGroup;
 			children = (
+				74970F751EDC361B000507F3 /* GeneratedPluginRegistrant.h */,
+				74970F761EDC361B000507F3 /* GeneratedPluginRegistrant.m */,
 				7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
 				7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
 				97C146FA1CF9000F007C117D /* Main.storyboard */,
 				97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
 				97C147021CF9000F007C117D /* Info.plist */,
 				97C146F11CF9000F007C117D /* Supporting Files */,
-				1498D2321E8E86230040F4C2 /* PluginRegistry.h */,
-				1498D2331E8E89220040F4C2 /* PluginRegistry.m */,
 			);
 			path = Runner;
 			sourceTree = "<group>";
@@ -240,7 +240,7 @@
 			files = (
 				978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
 				97C146F31CF9000F007C117D /* main.m in Sources */,
-				1498D2341E8E89220040F4C2 /* PluginRegistry.m in Sources */,
+				74970F771EDC361B000507F3 /* GeneratedPluginRegistrant.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/dev/integration_tests/ui/ios/Runner/AppDelegate.m b/dev/integration_tests/ui/ios/Runner/AppDelegate.m
index 32e6760..dfa4361 100644
--- a/dev/integration_tests/ui/ios/Runner/AppDelegate.m
+++ b/dev/integration_tests/ui/ios/Runner/AppDelegate.m
@@ -3,17 +3,13 @@
 // found in the LICENSE file.
 
 #include "AppDelegate.h"
-#include "PluginRegistry.h"
+#include "GeneratedPluginRegistrant.h"
 
-@implementation AppDelegate {
-  PluginRegistry *plugins;
-}
+@implementation AppDelegate
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-  FlutterViewController *flutterController =
-      (FlutterViewController *)self.window.rootViewController;
-  plugins = [[PluginRegistry alloc] initWithController:flutterController];
-  return YES;
+  [GeneratedPluginRegistrant registerWithRegistry:self];
+  return [super application:application didFinishLaunchingWithOptions:launchOptions];
 }
 
 @end
diff --git a/dev/integration_tests/ui/ios/Runner/GeneratedPluginRegistrant.h b/dev/integration_tests/ui/ios/Runner/GeneratedPluginRegistrant.h
new file mode 100644
index 0000000..3b700eb
--- /dev/null
+++ b/dev/integration_tests/ui/ios/Runner/GeneratedPluginRegistrant.h
@@ -0,0 +1,14 @@
+//
+//  Generated file. Do not edit.
+//
+
+#ifndef GeneratedPluginRegistrant_h
+#define GeneratedPluginRegistrant_h
+
+#import <Flutter/Flutter.h>
+
+@interface GeneratedPluginRegistrant : NSObject
++ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry;
+@end
+
+#endif /* GeneratedPluginRegistrant_h */
diff --git a/dev/integration_tests/ui/ios/Runner/GeneratedPluginRegistrant.m b/dev/integration_tests/ui/ios/Runner/GeneratedPluginRegistrant.m
new file mode 100644
index 0000000..60dfa42
--- /dev/null
+++ b/dev/integration_tests/ui/ios/Runner/GeneratedPluginRegistrant.m
@@ -0,0 +1,12 @@
+//
+//  Generated file. Do not edit.
+//
+
+#import "GeneratedPluginRegistrant.h"
+
+@implementation GeneratedPluginRegistrant
+
++ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
+}
+
+@end
diff --git a/dev/integration_tests/ui/ios/Runner/PluginRegistry.h b/dev/integration_tests/ui/ios/Runner/PluginRegistry.h
deleted file mode 100644
index df039db..0000000
--- a/dev/integration_tests/ui/ios/Runner/PluginRegistry.h
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-//  Generated file. Do not edit.
-//
-
-#ifndef PluginRegistry_h
-#define PluginRegistry_h
-
-#import <Flutter/Flutter.h>
-
-
-@interface PluginRegistry : NSObject
-
-
-- (instancetype)initWithController:(FlutterViewController *)controller;
-
-@end
-
-#endif /* PluginRegistry_h */
diff --git a/dev/integration_tests/ui/ios/Runner/PluginRegistry.m b/dev/integration_tests/ui/ios/Runner/PluginRegistry.m
deleted file mode 100644
index 0a34729..0000000
--- a/dev/integration_tests/ui/ios/Runner/PluginRegistry.m
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-//  Generated file. Do not edit.
-//
-
-#import "PluginRegistry.h"
-
-@implementation PluginRegistry
-
-- (instancetype)initWithController:(FlutterViewController *)controller {
-  if (self = [super init]) {
-  }
-  return self;
-}
-
-@end