Map arm64e devices to arm64 devices (#50612)
diff --git a/packages/flutter_tools/lib/src/base/build.dart b/packages/flutter_tools/lib/src/base/build.dart index 3041962..ab5cfa6 100644 --- a/packages/flutter_tools/lib/src/base/build.dart +++ b/packages/flutter_tools/lib/src/base/build.dart
@@ -142,7 +142,7 @@ genSnapshotArgs.add('--no-use-integer-division'); } - // The name of the debug file must contain additonal information about + // The name of the debug file must contain additional information about // the architecture, since a single build command may produce // multiple debug files. final String archName = getNameForTargetPlatform(platform, darwinArch: darwinArch);
diff --git a/packages/flutter_tools/lib/src/build_info.dart b/packages/flutter_tools/lib/src/build_info.dart index edad71e..28ab800 100644 --- a/packages/flutter_tools/lib/src/build_info.dart +++ b/packages/flutter_tools/lib/src/build_info.dart
@@ -390,6 +390,7 @@ case 'armv7': return DarwinArch.armv7; case 'arm64': + case 'arm64e': // iPhone XS/XS Max/XR and higher. arm64 runs on arm64e devices. return DarwinArch.arm64; case 'x86_64': return DarwinArch.x86_64;
diff --git a/packages/flutter_tools/test/general.shard/build_info_test.dart b/packages/flutter_tools/test/general.shard/build_info_test.dart index 5db5da7..6bff476b 100644 --- a/packages/flutter_tools/test/general.shard/build_info_test.dart +++ b/packages/flutter_tools/test/general.shard/build_info_test.dart
@@ -85,4 +85,12 @@ expect(getNameForTargetPlatform(TargetPlatform.ios, darwinArch: DarwinArch.x86_64), 'ios-x86_64'); expect(getNameForTargetPlatform(TargetPlatform.android), isNot(contains('ios'))); }); + + test('getIOSArchForName on Darwin arches', () { + expect(getIOSArchForName('armv7'), DarwinArch.armv7); + expect(getIOSArchForName('arm64'), DarwinArch.arm64); + expect(getIOSArchForName('arm64e'), DarwinArch.arm64); + expect(getIOSArchForName('x86_64'), DarwinArch.x86_64); + expect(() => getIOSArchForName('bogus'), throwsAssertionError); + }); }