XcodesKit is the shared Swift package that powers XcodesOrg apps. It contains the core models, services, environment hooks, and filesystem/download workflows used by XcodesApp to discover, download, install, update, and manage Xcode releases and simulator runtimes.
- macOS 13 or newer
- Swift 6.0 or newer
Add XcodesKit as a Swift Package dependency:
.package(url: "https://github.com/XcodesOrg/XcodesKit", branch: "main")Then depend on the library product from your target:
.product(name: "XcodesKit", package: "XcodesKit")XcodesKit includes a DocC catalog at Sources/XcodesKit/Documentation.docc.
Open the package in Xcode and choose Product > Build Documentation to browse the public API grouped by workflow.
The main entry points are:
XcodeListServicefor loading Xcode release metadata from Apple or Xcode Releases.InstalledXcodeDiscoveryServicefor reading installed Xcode bundles.XcodeListComposerandXcodeListPresentationServicefor building UI-ready Xcode lists.XcodeArchiveService,XcodeArchiveInstallService, andXcodeUnarchiveServicefor archive download and install workflows.XcodeSelectionServicefor selecting an installed Xcode.RuntimeServiceand the runtime install services for simulator runtime discovery and installation.
Most services provide default initializers for real network, filesystem, and shell behavior, plus closure-based initializers for tests and host-app integration.
Build the package:
swift buildRun the test suite:
swift test