@@ -92,7 +92,7 @@ class MigrateUtils {
92
92
required String name,
93
93
bool legacyNameParameter = false ,
94
94
required String androidLanguage,
95
- required String iosLanguage,
95
+ required String ? iosLanguage,
96
96
required String outputDirectory,
97
97
String ? createVersion,
98
98
List <String > platforms = const < String > [],
@@ -110,7 +110,11 @@ class MigrateUtils {
110
110
cmdArgs.add ('--project-name=$name ' );
111
111
}
112
112
cmdArgs.add ('--android-language=$androidLanguage ' );
113
- cmdArgs.add ('--ios-language=$iosLanguage ' );
113
+
114
+ if (iosLanguage != null ) {
115
+ cmdArgs.add ('--ios-language=$iosLanguage ' );
116
+ }
117
+
114
118
if (platforms.isNotEmpty) {
115
119
String platformsArg = '--platforms=' ;
116
120
for (int i = 0 ; i < platforms.length; i++ ) {
@@ -131,7 +135,20 @@ class MigrateUtils {
131
135
await _runCommand (cmdArgs, workingDirectory: outputDirectory);
132
136
final String error = result.stderr as String ;
133
137
134
- // Catch errors due to parameters not existing.
138
+ // Catch errors due to parameters not supported anymore for apps in flutter 3.35
139
+ if (error.contains (
140
+ 'The "ios-language" option is only supported for "--template=plugin".' )) {
141
+ return createFromTemplates (
142
+ flutterBinPath,
143
+ name: name,
144
+ legacyNameParameter: legacyNameParameter,
145
+ androidLanguage: androidLanguage,
146
+ iosLanguage: null ,
147
+ outputDirectory: outputDirectory,
148
+ platforms: platforms,
149
+ iterationsAllowed: iterationsAllowed-- ,
150
+ );
151
+ }
135
152
136
153
// Old versions of the tool does not include the platforms option.
137
154
if (error.contains ('Could not find an option named "platforms".' )) {
0 commit comments