Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/s2mr/xc

Open your xcode project with Xcode of specific version
https://github.com/s2mr/xc

Last synced: about 2 months ago
JSON representation

Open your xcode project with Xcode of specific version

Lists

README

        

# xc
Open the Xcode project file with the specified version

## Usage

Open project file with preferred Xcode version:
```
xc
```

Open project file with Xcode 14.2.0:
```
xc -v 14.2.0
```

```
xc list

---
Available Xcode:
14.2 /Applications/Xcode.app
14.1 /Applications/Xcode14.1.app
13.4.1 /Applications/Xcode13.4.1.app
13.2.1 /Applications/Xcode13.2.1.app
```

## Feature
### Automatic project file searching (priority)
1. User specified path
2. `.xcworkspace`
3. `.xcodeproj`
4. `Package.swift`

### Automatic Xcode version searching (priority)
1. User specified version
2. `.xcode-version`
3. `$ xcode-select`

### Show all Xcode list you installed

Automatically searching xcode via `NSWorkspace.shared.urlsForApplications(withBundleIdentifier: "com.apple.dt.Xcode")`.

```
xc list

---
Available Xcode:
14.2 /Applications/Xcode.app
14.1 /Applications/Xcode14.1.app
13.4.1 /Applications/Xcode13.4.1.app
13.2.1 /Applications/Xcode13.2.1.app
```

### Open Xcode.app without opening project

Simply run:
```
xc -n
```

### Automatically changing developer directory via xcode-select

When you execute `xc` or `xc open` command, automatically execute `sudo xcode-select --switch`.
This needs sudo password.
You can setting sudo password via `$ xc config`

> **Warning**
>
> This feature is disabled by default.
>
> You can enabled this feature by executing command below.
>
> `$ xc config write --sudo-password --auto-xcode-select-enabled true`

### Command completion

This command is built on [swift-argument-parser](https://github.com/apple/swift-argument-parser).

Please refer to [this article](https://github.com/apple/swift-argument-parser/blob/main/Sources/ArgumentParser/Documentation.docc/Articles/InstallingCompletionScripts.md#installing-zsh-completions
).

Replace `example` with `xc`.

## Installation

### [Homebrew](https://brew.sh/)

```shell
brew install s2mr/tap/xc
```

### [Swift Package Manager](https://github.com/apple/swift-package-manager)

Add the following to the dependencies of your `Package.swift`:

```swift
dependencies: [
.package(url: "https://github.com/s2mr/xc.git", from: "xc version"),
]
```

Run command:

```sh
swift run -c release xc [COMMAND] [OPTIONS]
```

### [Mint](https://github.com/yonaskolb/Mint)

Install with Mint by following command:

```sh
mint install s2mr/xc
```

Run command:

```sh
mint run s2mr/xc [COMMAND] [OPTIONS]
```

### Using a pre-built binary

You can also install xc by downloading `xc.zip` from the latest GitHub release.

## Help

```
xc --help

---
OVERVIEW: This tool launches the Xcode application and opens the given documents.

USAGE: xc

OPTIONS:
--version Show the version.
-h, --help Show help information.

SUBCOMMANDS:
list Available Xcodes list
open (default) Shows available versions of Xcode
config Read and write xc command config. Config json is stored at `~/.config/xc/config.json`
env Current environment

See 'xc help ' for detailed help.
```

```
xc open --help

---
OVERVIEW: Shows available versions of Xcode

USAGE: xc open [-v ] []

ARGUMENTS:
File path

OPTIONS:
-v Open with specific Xcode version
--version Show the version.
-h, --help Show help information.
```