diff --git a/dev/devicelab/bin/tasks/ios_content_validation_test.dart b/dev/devicelab/bin/tasks/ios_content_validation_test.dart index 753958095ab..e84b346ec01 100644 --- a/dev/devicelab/bin/tasks/ios_content_validation_test.dart +++ b/dev/devicelab/bin/tasks/ios_content_validation_test.dart @@ -182,43 +182,6 @@ Future main() async { await flutter('clean'); }); - section('Build app for simulator with all available architectures'); - - // Apple Silicon ARM simulators not yet supported. - // Prove (on Xcode 12) Flutter knows to exclude this architecture. - await inDirectory(flutterProject.rootPath, () async { - await flutter('build', options: [ - 'ios', - '--simulator', - '--no-codesign', - '--verbose', - ], environment: { - 'FLUTTER_XCODE_ONLY_ACTIVE_ARCH': 'NO' - }); - }); - - final String simulatorAppFrameworkBinary = path.join( - flutterProject.rootPath, - 'build', - 'ios', - 'iphonesimulator', - 'Runner.app', - 'Frameworks', - 'App.framework', - 'App', - ); - - final String archs = await fileType(simulatorAppFrameworkBinary); - if (!archs.contains('Mach-O 64-bit dynamically linked shared library x86_64')) { - throw TaskResult.failure('Unexpected architecture'); - } - - section('Clean build'); - - await inDirectory(flutterProject.rootPath, () async { - await flutter('clean'); - }); - section('Archive'); await inDirectory(flutterProject.rootPath, () async { diff --git a/packages/flutter_tools/bin/podhelper.rb b/packages/flutter_tools/bin/podhelper.rb index ae81f7cdabc..a5d720b31ce 100644 --- a/packages/flutter_tools/bin/podhelper.rb +++ b/packages/flutter_tools/bin/podhelper.rb @@ -68,9 +68,6 @@ def flutter_additional_ios_build_settings(target) # When deleted, the deployment version will inherit from the higher version derived from the 'Runner' target. # If the pod only supports a higher version, do not delete to correctly produce an error. build_configuration.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' if inherit_deployment_target - - # Apple Silicon ARM simulators not yet supported. - build_configuration.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386' end end diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart index 65c356429e8..5ce33fb1d3a 100644 --- a/packages/flutter_tools/lib/src/ios/mac.dart +++ b/packages/flutter_tools/lib/src/ios/mac.dart @@ -250,7 +250,7 @@ Future buildXcodeProject({ if (buildForDevice) { buildCommands.addAll(['-sdk', 'iphoneos']); } else { - buildCommands.addAll(['-sdk', 'iphonesimulator']); + buildCommands.addAll(['-sdk', 'iphonesimulator', '-arch', 'x86_64']); } } diff --git a/packages/flutter_tools/lib/src/ios/xcodeproj.dart b/packages/flutter_tools/lib/src/ios/xcodeproj.dart index 5f7c99220f4..7cf04c1ba9d 100644 --- a/packages/flutter_tools/lib/src/ios/xcodeproj.dart +++ b/packages/flutter_tools/lib/src/ios/xcodeproj.dart @@ -209,9 +209,6 @@ List _xcodeBuildSettingsLines({ if (useMacOSConfig) { // ARM not yet supported https://github.com/flutter/flutter/issues/69221 xcodeBuildSettings.add('EXCLUDED_ARCHS=arm64'); - } else { - // Apple Silicon ARM simulators not yet supported. - xcodeBuildSettings.add('EXCLUDED_ARCHS[sdk=iphonesimulator*]=arm64 i386'); } for (final MapEntry config in buildInfo.toEnvironmentConfig().entries) { 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 4052a0c62c1..30b3b686f68 100644 --- a/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart @@ -683,14 +683,12 @@ Information about project "Runner": final String contents = config.readAsStringSync(); expect(contents.contains('ARCHS=armv7'), isTrue); - expect(contents.contains('EXCLUDED_ARCHS[sdk=iphonesimulator*]=arm64 i386'), isTrue); final File buildPhaseScript = fs.file('path/to/project/ios/Flutter/flutter_export_environment.sh'); expect(buildPhaseScript.existsSync(), isTrue); final String buildPhaseScriptContents = buildPhaseScript.readAsStringSync(); expect(buildPhaseScriptContents.contains('ARCHS=armv7'), isTrue); - expect(buildPhaseScriptContents.contains('"EXCLUDED_ARCHS[sdk=iphonesimulator*]=arm64 i386"'), isTrue); }); testUsingOsxContext('sets TRACK_WIDGET_CREATION=true when trackWidgetCreation is true', () async { diff --git a/packages/flutter_tools/test/integration.shard/build_ios_config_only_test.dart b/packages/flutter_tools/test/integration.shard/build_ios_config_only_test.dart index 7382a46ceda..a2b86f5690a 100644 --- a/packages/flutter_tools/test/integration.shard/build_ios_config_only_test.dart +++ b/packages/flutter_tools/test/integration.shard/build_ios_config_only_test.dart @@ -41,7 +41,10 @@ void main() { // Config is updated if command succeeded. expect(generatedConfig, exists); - expect(generatedConfig.readAsStringSync(), contains('DART_OBFUSCATION=true')); + expect(generatedConfig.readAsStringSync(), allOf( + contains('DART_OBFUSCATION=true'), + isNot(contains('EXCLUDED_ARCHS')), + )); // file that only exists if app was fully built. final File frameworkPlist = fileSystem.file(