From 7424db448db36ab89192df9213e83d4535c67e61 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Fri, 30 Jul 2021 14:44:04 -0700 Subject: [PATCH] Exclude arm64 from iOS app archs if unsupported by plugins on x64 Macs (#87362) --- .../flutter_tools/lib/src/ios/xcode_build_settings.dart | 3 +-- .../test/general.shard/ios/xcodeproj_test.dart | 8 +------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart b/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart index 29a1d83beb2..2f7be528708 100644 --- a/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart +++ b/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart @@ -4,7 +4,6 @@ import '../artifacts.dart'; import '../base/file_system.dart'; -import '../base/os.dart'; import '../build_info.dart'; import '../cache.dart'; import '../flutter_manifest.dart'; @@ -210,7 +209,7 @@ Future> _xcodeBuildSettingsLines({ // If any plugins or their dependencies do not support arm64 simulators // (to run natively without Rosetta translation on an ARM Mac), // the app will fail to build unless it also excludes arm64 simulators. - if (globals.os.hostPlatform == HostPlatform.darwin_arm && !(await project.ios.pluginsSupportArmSimulator())) { + if (!(await project.ios.pluginsSupportArmSimulator())) { excludedSimulatorArchs += ' arm64'; } xcodeBuildSettings.add('EXCLUDED_ARCHS[sdk=iphonesimulator*]=$excludedSimulatorArchs'); diff --git a/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart b/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart index 1435cbe18f8..275fc9ab88a 100644 --- a/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart @@ -9,7 +9,6 @@ import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/io.dart'; import 'package:flutter_tools/src/base/logger.dart'; -import 'package:flutter_tools/src/base/os.dart'; import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/base/version.dart'; import 'package:flutter_tools/src/build_info.dart'; @@ -21,7 +20,6 @@ import 'package:flutter_tools/src/reporting/reporting.dart'; import '../../src/common.dart'; import '../../src/context.dart'; import '../../src/fake_process_manager.dart'; -import '../../src/fakes.dart'; const String xcodebuild = '/usr/bin/xcodebuild'; @@ -739,7 +737,6 @@ Build settings for action build and target plugin2: }, overrides: { Artifacts: () => localArtifacts, Platform: () => macOS, - OperatingSystemUtils: () => FakeOperatingSystemUtils(hostPlatform: HostPlatform.darwin_arm), FileSystem: () => fs, ProcessManager: () => fakeProcessManager, XcodeProjectInterpreter: () => xcodeProjectInterpreter, @@ -781,7 +778,6 @@ Build settings for action build and target plugin2: }, overrides: { Artifacts: () => localArtifacts, Platform: () => macOS, - OperatingSystemUtils: () => FakeOperatingSystemUtils(hostPlatform: HostPlatform.darwin_arm), FileSystem: () => fs, ProcessManager: () => fakeProcessManager, XcodeProjectInterpreter: () => xcodeProjectInterpreter, @@ -835,7 +831,6 @@ Build settings for action build and target plugin2: }, overrides: { Artifacts: () => localArtifacts, Platform: () => macOS, - OperatingSystemUtils: () => FakeOperatingSystemUtils(hostPlatform: HostPlatform.darwin_arm), FileSystem: () => fs, ProcessManager: () => fakeProcessManager, XcodeProjectInterpreter: () => xcodeProjectInterpreter, @@ -846,7 +841,6 @@ Build settings for action build and target plugin2: testUsingContext(description, testMethod, overrides: { Artifacts: () => localArtifacts, Platform: () => macOS, - OperatingSystemUtils: () => FakeOperatingSystemUtils(hostPlatform: HostPlatform.darwin_x64), FileSystem: () => fs, ProcessManager: () => FakeProcessManager.any(), }); @@ -875,7 +869,7 @@ Build settings for action build and target plugin2: expect(buildPhaseScriptContents.contains('EXCLUDED_ARCHS'), isFalse); }); - testUsingOsxContext('excludes i386 simulator', () async { + testUsingOsxContext('does not exclude arm64 simulator when there are no plugins', () async { const BuildInfo buildInfo = BuildInfo.debug; final FlutterProject project = FlutterProject.fromDirectoryTest(fs.directory('path/to/project')); await updateGeneratedXcodeProperties(