I love Carthage for managing external dependencies in my Xcode projects. What I don’t care for is that most READMEs have you edit your Cartfile
and then run carthage update
. By default this will compile the dependencies for every target that the 3rd party framework supports: iOS, tvOS, watchOS, and macOS. If I’m working on an iOS-only project that’s a significant waste of my time.
Lucky for us you can bypass all that and specify only the platform you want to build for with the --platform
argument:
notification git:(master) carthage update --platform ios *** Fetching SQLite.swift *** Checking out SQLite.swift at "8b95a0c4a884f35e5102cd306f634680255473bb" *** xcodebuild output can be found in /var/folders/b_/mwxmgbj530l2l5jzl6ygnqtr0000gn/T/carthage-xcodebuild.P0EL0n.log *** Building scheme "SQLite iOS" in SQLite.xcodeproj
You can also specify a number of platforms using a comma-separated list: carthage update --platform tvos,ios
.
The --platform
argument can also be used with the build
command: carthage build --platform ios
So, stop wasting time building for platforms you don’t need. Use --platform
and call out only those your project supports!