Summary
Add library APIs to check the Apple development environment status, supporting the maui apple check command from the CLI spec.
Requirements
The check should detect and report:
- Xcode version(s) installed and which is active (
xcode-select -p)
- Command Line Tools (CLT) presence and version
- Installed simulator runtimes (iOS, tvOS, watchOS, visionOS)
- Enabled platform support (Xcode 16+ platform management)
- Whether the environment is sufficient for .NET MAUI development
Expected Output
The API should return a structured result that can be serialized to JSON:
{
"xcode": { "version": "16.2", "path": "/Applications/Xcode.app", "build": "16C5032a" },
"clt": { "installed": true, "version": "16.2.0" },
"runtimes": [ { "platform": "iOS", "version": "18.2", "identifier": "com.apple.CoreSimulator.SimRuntime.iOS-18-2" } ],
"platforms": [ "iOS", "macOS" ],
"status": "ok"
}
Design Notes
- Leverages the existing
XcodeLocator class for Xcode discovery
- Should be stateless — reads system state and returns results
- Must work on macOS only (return appropriate error on other platforms)
Reference
Summary
Add library APIs to check the Apple development environment status, supporting the
maui apple checkcommand from the CLI spec.Requirements
The check should detect and report:
xcode-select -p)Expected Output
The API should return a structured result that can be serialized to JSON:
{ "xcode": { "version": "16.2", "path": "/Applications/Xcode.app", "build": "16C5032a" }, "clt": { "installed": true, "version": "16.2.0" }, "runtimes": [ { "platform": "iOS", "version": "18.2", "identifier": "com.apple.CoreSimulator.SimRuntime.iOS-18-2" } ], "platforms": [ "iOS", "macOS" ], "status": "ok" }Design Notes
XcodeLocatorclass for Xcode discoveryReference