No description
Find a file
2021-01-17 12:29:28 -07:00
.github Only run CI workflow on push to main 2021-01-04 19:37:34 -07:00
com.robotsandpencils.XcodesApp.Helper Replace print/dump/NSLog with os.log Logger 2021-01-16 13:14:27 -07:00
HelperXPCShared Add install functionality 2021-01-07 21:25:07 -07:00
Scripts Add privileged helper that runs xcode-select 2020-12-28 10:38:27 -07:00
Xcodes Replace NSError() with specific error 2021-01-17 12:29:28 -07:00
Xcodes.xcodeproj Invalidate XPC connection after installing 2021-01-17 11:57:45 -07:00
XcodesTests Replace print/dump/NSLog with os.log Logger 2021-01-16 13:14:27 -07:00
.gitignore Ignore .DS_Store 2020-11-24 21:12:14 -07:00
DECISIONS.md Psych, switch "default" to "active", add justification 2020-12-30 22:06:39 -07:00
icon.png Add icon, screenshot and features list to README 2021-01-14 20:18:07 -07:00
LICENSE Initial commit 2020-11-24 20:51:03 -07:00
R&PLogo.png Elaborate in README, add DECISIONS 2020-12-22 20:22:44 -07:00
README.md Add icon, screenshot and features list to README 2021-01-14 20:18:07 -07:00
screenshot.png Add icon, screenshot and features list to README 2021-01-14 20:18:07 -07:00

Xcodes.app

The easiest way to install and switch between multiple versions of Xcode.

If you're looking for a command-line version of Xcodes.app, try xcodes.

CI

Features

  • List all available Xcode versions from Xcode Releases' data or the Apple Developer website.
  • Install any Xcode version, fully automated from start to finish. Xcodes uses aria2, which uses up to 16 connections to download 3-5x faster than URLSession.
  • Just click a button to make a version active with xcode-select.
  • View release notes, OS compatibility, included SDKs and compilers from Xcode Releases.

Installation

Xcodes.app is currently only provided as source code that must be built using Xcode.

Development

You'll need macOS 11 Big Sur and Xcode 12 in order to build and run Xcodes.app.

If you aren't a Robots and Pencils employee you'll need to change the CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT build setting to your Apple Developer team ID in order for code signing validation to succeed between the main app and the privileged helper.

Notable design decisions are recorded in DECISIONS.md. The Apple authentication flow is described in Apple.paw, which will allow you to play with the API endpoints that are involved using the Paw app.

xcode-install and fastlane/spaceship both deserve credit for figuring out the hard parts of what makes this possible.

Contact

Made with ❤️ by Robots & Pencils

Twitter | GitHub