🚘 A simple tool for updating Carthage script phase

What's New




Make Swift Package Manager

Do you use Carthage? Are you feel tired of adding special script and the paths to frameworks (point 4, 5 and 6 in Getting Started guide) manually? Me too. Carting does it for you. It scans Carthage folder and linked frameworks, gets framework names and updates the script.

Carting usage


Run carting update in project folder. That's all.

By default Carting searches a script named Carthage, but you can set a name of your script via command line arguments:

$ carting update -s MyBestScript

If there is no script with the name, Carting will add a new one.

Since Xcode 10 Run Script Phases support declaring input and output files in a .xcfilelist file. This file should contain a newline-separated list of the file paths for the inputs or outputs. Carting uses it by default. If you need to work with your projects in old Xcode versions, use -f file option.

🚨Note: be sure to have no uncommitted changes in project file to prevent project parsing errors 😱.

Project parsing error

Run carting --help to see available commands:

OVERVIEW: 🚘 Simple tool for updating Carthage script phase

USAGE: Carting <command> <options>

  info                    Prints Carthage frameworks list with linking description.
  lint                    Lint the project for missing paths.
  update                  Adds a new script with input/output file paths or updates the script named `Carthage`.


Integrate Carting into an Xcode scheme to get errors displayed in the IDE. Just add a new "Run Script Phase" with:

/usr/local/bin/carting lint

Run Script Phase


Homebrew (recommended):

$ brew tap artemnovichkov/projects
$ brew install carting


$ mint run artemnovichkov/carting


$ git clone
$ cd Carting
$ make

Swift Package Manager:

let package = Package(
    dependencies: [
        .Package(url: "", majorVersion: 2)


Artem Novichkov,


Carting is available under the MIT license. See the LICENSE file for more info.


  • Swift Tools 5.0.0
View More Packages from this Author


Last updated: Sun Mar 12 2023 11:38:13 GMT-0500 (GMT-05:00)