diff --git a/src/briefcase/integrations/xcode.py b/src/briefcase/integrations/xcode.py index a9d4e7b24..cf9d92bfb 100644 --- a/src/briefcase/integrations/xcode.py +++ b/src/briefcase/integrations/xcode.py @@ -202,6 +202,19 @@ def ensure_xcode_is_installed( """ ) from e + try: + # Check for iOS simulated devices + result = subprocess.run(['xcrun', 'simctl', 'list', 'devices'], + capture_output=True, text=True, check=True) + output = result.stdout + if re.search(r"== Devices ==\s*$", output): + raise BriefcaseCommandError( + preamble = """\ +There are no Apple Simulator Control devices installed. They are usually +part of the Xcode iOS Component installation. It can be installed +from the Xcode GUI, settings -> Components -> iOS. +""" + ) from e class XcodeCliTools(Tool): name = "xcode_cli"