XcodesOrg / XcodesOrg/xcodes

Support more flexible version selection

Open
#452 1 comment 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
4.8k
Forks
182
Avg merge
2d 12h
Merged PRs (30d)
1

Description

Since Fastlane moved to using xcodes for version selection and install, we've lost the ability to be more flexible in the versions we select. For instance, attempting to select version 26.0 when 26.0.1 is installed will fail. I'd like to suggest one of three improvements:

  1. Automatically allow any patch version when selecting an Xcode minor version. e.g. 26.0 would match 26.0.2 but not 26.1.
  2. Like 1, but require a version level match. e.g. 26.0.0 would match the latest patch version, but 26.0 would still require a specific version.
  3. Match the previous Ruby tool behavior and allow the use of the ~> operator with a provided version. e.g. ~> 26 would match the latest major version available, ~> 26.0 would match the latest minor version available, and ~> 26.0.0 would match the latest patch version of 26.0.

This would allow CI to remain within a supported version range without an explicit update.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the CLI's current Xcode version-selection entry point and reviewing how it delegates version matching to xcodes. Compare the three proposed matching semantics, resolve which behavior should be supported, and define completion around matching the requested major, minor, and patch ranges while preserving CI version constraints.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.