• Victoria Ashworth's avatar
    Check for simulator runtime in flutter doctor (#131795) · b39604e0
    Victoria Ashworth authored
    Redo of https://github.com/flutter/flutter/pull/130728 - code is the same as before. That PR was stuck in Google testing and then I messed up the rebase so started over.
    
    ----
    
    Starting in Xcode 15, the simulator is no longer included in Xcode and must be downloaded and installed separately. This adds a validation to `flutter doctor` to warn when the needed simulator runtime is missing.
    
    Validation message looks like:
    ```
    [!] Xcode - develop for iOS and macOS (Xcode 15.0)
        ! iOS 17.0 Simulator not installed; this may be necessary for iOS and macOS development.
          To download and install the platform, open Xcode, select Xcode > Settings > Platforms,
          and click the GET button for the required platform.
    
          For more information, please visit:
            https://developer.apple.com/documentation/xcode/installing-additional-simulator-runtimes
    ```
    
    It may also show an error like this when something goes wrong when checking for the simulator:
    ```
    [!] Xcode - develop for iOS and macOS (Xcode 15.0)
        ✗ Unable to find the iPhone Simulator SDK.
    ```
    
    Note: I'm unsure of in the future if the SDK and the simulator runtime will need to match the exact version or just the major. For now, it only checks against the major version.
    
    Part 3 of https://github.com/flutter/flutter/issues/129558.
    b39604e0
Name
Last commit
Last update
..
android Loading commit data...
base Loading commit data...
build_system Loading commit data...
commands Loading commit data...
custom_devices Loading commit data...
dap Loading commit data...
dart Loading commit data...
drive Loading commit data...
fuchsia Loading commit data...
intellij Loading commit data...
ios Loading commit data...
linux Loading commit data...
macos Loading commit data...
migrations Loading commit data...
proxied_devices Loading commit data...
reporting Loading commit data...
runner Loading commit data...
test Loading commit data...
tester Loading commit data...
vscode Loading commit data...
web Loading commit data...
windows Loading commit data...
analytics_test.dart Loading commit data...
android_plugin_test.dart Loading commit data...
application_package_test.dart Loading commit data...
args_test.dart Loading commit data...
artifact_updater_test.dart Loading commit data...
artifacts_test.dart Loading commit data...
asset_bundle_package_fonts_test.dart Loading commit data...
asset_bundle_package_test.dart Loading commit data...
asset_bundle_test.dart Loading commit data...
asset_bundle_variant_test.dart Loading commit data...
asset_test.dart Loading commit data...
base_utils_test.dart Loading commit data...
build_info_test.dart Loading commit data...
bundle_builder_test.dart Loading commit data...
cache_test.dart Loading commit data...
channel_test.dart Loading commit data...
cmake_test.dart Loading commit data...
cold_test.dart Loading commit data...
common_test.dart Loading commit data...
compile_batch_test.dart Loading commit data...
compile_expression_test.dart Loading commit data...
compile_incremental_test.dart Loading commit data...
compile_test.dart Loading commit data...
config_test.dart Loading commit data...
convert_test.dart Loading commit data...
coverage_collector_test.dart Loading commit data...
crash_reporting_test.dart Loading commit data...
create_config_test.dart Loading commit data...
daemon_test.dart Loading commit data...
dart_plugin_test.dart Loading commit data...
desktop_device_test.dart Loading commit data...
devfs_test.dart Loading commit data...
device_port_forwarder_test.dart Loading commit data...
device_test.dart Loading commit data...
devtools_launcher_test.dart Loading commit data...
emulator_test.dart Loading commit data...
fake_process_manager_test.dart Loading commit data...
features_test.dart Loading commit data...
flutter_manifest_test.dart Loading commit data...
flutter_platform_test.dart Loading commit data...
flutter_project_metadata_test.dart Loading commit data...
flutter_tester_device_test.dart Loading commit data...
flutter_validator_test.dart Loading commit data...
generate_localizations_test.dart Loading commit data...
github_template_test.dart Loading commit data...
hot_test.dart Loading commit data...
html_utils_test.dart Loading commit data...
integration_test_device_test.dart Loading commit data...
license_collector_test.dart Loading commit data...
mdns_discovery_test.dart Loading commit data...
message_parser_test.dart Loading commit data...
persistent_tool_state_test.dart Loading commit data...
plugin_parsing_test.dart Loading commit data...
plugins_test.dart Loading commit data...
preview_device_test.dart Loading commit data...
project_file_invalidator_test.dart Loading commit data...
project_test.dart Loading commit data...
project_validator_result_test.dart Loading commit data...
protocol_discovery_test.dart Loading commit data...
pub_dependencies_project_validator_test.dart Loading commit data...
resident_devtools_handler_test.dart Loading commit data...
resident_runner_test.dart Loading commit data...
resident_web_runner_cold_test.dart Loading commit data...
resident_web_runner_test.dart Loading commit data...
run_hot_test.dart Loading commit data...
template_test.dart Loading commit data...
terminal_handler_test.dart Loading commit data...
testbed_test.dart Loading commit data...
time_test.dart Loading commit data...
tracing_test.dart Loading commit data...
update_packages_test.dart Loading commit data...
utils_test.dart Loading commit data...
version_test.dart Loading commit data...
vmservice_test.dart Loading commit data...
windows_version_validator_test.dart Loading commit data...
xcode_backend_test.dart Loading commit data...