Skip to main content

xcode-toolbox

A CLI tool which aims to provide a convenient operation toolbox on XCode project. It's faster and cleaner than xed. You can use it to:

(1) Open XCode project or workspace. 
(2) Remove project's derived data, or just the Build or Index folder.
(3) [WIP] Force kill XCode process. 
(4) [WIP] Generate Objective-C function signatures.

The argument path is a path to the directory containing at least 1 .xcodeproj or .xcworkspace file, default to the current directory. .xcworkspace has higher priority than .xcodeproj.

Installation

pip3 install xcode-toolbox

Requirements

  • Python 3.6+
  • requests
  • click

Usage

Usage: xc [OPTIONS] [PATH]

  A CLI tool which aims to provide a convenient operation toolbox on XCode
  project. It's faster and cleaner than `xed`. You can use it to: (1) open
  XCode project or workspace. (2) remove project's derived data. (3) [WIP]
  force kill XCode process. (4) [WIP] generate Objective-C function
  signatures.

  The argument `path` is a path to the directory containing at least 1
  `.xcodeproj` or `.xcworkspace` file, default to the current directory.
  `.xcworkspace` has higher priority than `.xcodeproj`.

  Contribute: https://github.com/zlrs/xcode-opener

Options:
  --rm-all    Remove the project's derived data in
              ~/Library/Developer/Xcode/DerivedData.

  --rm-build  Similar to --rm-all, but only remove the `Build` subdirectory.
  --rm-index  Similar to --rm-all, but only remove the `Index` subdirectory.
  --help      Show this message and exit.

Example

  1. open a XCode project or workspace
    • specify folder explicitly
    git clone git@github.com:SDWebImage/SDWebImage.git ~/GitHub
    xc ~/GitHub/SDWebImage/Examples
    
    • open project/workspace of current folder without parameters
    git clone git@github.com:SDWebImage/SDWebImage.git
    cd SDWebImage/Examples
    xc
    
  2. clear project derived folder
# remove project's index from derived data
xc <Path> --rm-index

# remove project's build from derived data
xc <Path> --rm-build

#remove project's all derived data
xc <Path> --rm-all

Todo features

  • toolbox subcommands
    • kill subcommand. To kill all running XCode processes, equivalent to the following shell command.
    kill $(ps aux | grep 'Xcode' | awk '{print $2}')
    
    • find subcommand. Find a source file/project file(s) under the given directory tree.
    • generate Objective-C method signature.
  • clear XCode project index folder
  • clear XCode project derivedData folder

Contribution

Comments, pull requests or other kind of contributions are welcome!

Also if you have any requirements or you encounter any bugs, feel free to open an issue or create a pull request!

LICENSE

MIT @ zlrs

Metadata

Release files for xcode-toolbox 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xcode-toolbox 1.3.1
File Size Uploaded Provenance
xcode-toolbox-1.3.1.tar.gz 7.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for xcode-toolbox 1.3.1
File Interpreter ABI Platform
xcode_toolbox-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.7 kB

Release files / xcode-toolbox-1.3.1.tar.gz

Download URL xcode-toolbox-1.3.1.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8e67b14a2ee8de430935435408037ae92daba8b0826e36e68b10bbf4483690f0
BLAKE2b-256 checksum
How to use checksums
607e2326f37154f852c970114d1c81341582c25e318f63130e3835961fc1fc22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

Release files / xcode_toolbox-1.3.1-py3-none-any.whl

Download URL xcode_toolbox-1.3.1-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd005886f40d088b053df6f6f10b34d373ad8b672f1d89d2917e6c4f291fc08e
BLAKE2b-256 checksum
How to use checksums
9502f144cb9c194fb7596b3de5c6eda8e5687575089da1a852667ffe1aa89643
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

Security for xcode-toolbox 1.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page