Alcatraz, the Package Manager for Xcode

Share this article

No one can deny the power of package managers. We see them on Ruby, Node, PHP and other languages. We see them on Linux distributions and in text editors like Sublime or TextMate.

Alcatraz is the missing package manager for Xcode. Thanks to Alcatraz, Xcode can now support plugins for changing the editors behavior, such as color themes and starter templates.

Installation

Installing Alcatraz is easy. To install, execute:

curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

This may require sudo credentials. To uninstall alcatraz, execute:

rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin
rm -rf ~/Library/Application\ Support/Alcatraz

Load Bundle

Don’t forget to load the Bundle to use Alcatraz in Xcode.

If you accidentally press Skip Bundle, read this article on how to revert the action. It happened to me and is tricky to reverse.

When installing or uninstalling Alcatraz you will need to restart Xcode.

Usage

Find Alcatraz under the Window -> Package Manager menu item.

Package Manager Xcode

Alcatraz consists of three main sections. Plugins, Color Themes and Templates. The first thing I do on with any IDE is to activate the Dracula Color Theme. Open Package Manger and search for the Dracula Color Theme. After installation, restart Xcode, open preferences and under Fonts and Colors, choose the new Theme.

To remove an Alcatraz plugin, open the package manager, select Installed and navigate to one of the three sections (Plugins, Color Themes and Templates).

Next I’m going to add CocoaPods. I already have CocoaPods installed (sudo gem install cocoapods) as a CLI tool but I also want it available as a GUI tool in Xcode. Open the Package Manager, search Plugins for CocoaPods and install it. You will find this tool from the Product -> CocoaPods menu item.

CocoaPods on Xcode

CocoaPods is the package manager for Xcode projects with packages for Objective-C and Swift. Swift is still new so packages are arriving and updating every day.

Click Create -> Edit Podfile. My Podfile looks like this:

use_frameworks!
pod 'Spring', '~> 1.0.3'

Spring is a package that helps with animation. Click Install Pods and you are ready to go.

You could also install Pods using the CocoaPods tool on the command line.

CocoaPods on terminal

If you run into trouble while using the GUI tool, change Product -> CocoaPods -> GEMPATH_ to /usr/local/bin. If the pod installation directory is different, try executing which pod to find out the location.

Useful Plugins

CocoaPods is an essential plugin to have but there are also other useful plugins for missing Xcode features.

Templates

In the templates section you will find plugins to help get started with boilerplate code, for example a Swift templates plugin.

VVDocumenter

Everybody should document their code and a plugin that makes documentation easier is VVDocumenter. You only have to type /// before a class or method declaration to auto generate javadoc style documentation.

VVDocumenter screenshot

Don’t forget to restart Xcode and load the bundle.

There are other documentation plugins available that produce different documentation styles.

AdjustFontSize

I don’t know why Xcode doesn’t support changing font size by default and this plugin can help for those times when you need to quickly change font size.

XTrello

If you are a big fan of Trello for collaborating on projects with others, then this plugin is for you, allowing the creation of cards directly from Xcode. For setup read the documentation here.

Conclusion

In this article we saw how to install plugins for Xcode using Alcatraz, including using CocoaPods with a GUI.

Have you tried Alcatraz? What do you think? Are there other Xcode plugins you use or would like to see?

Aleksander KokoAleksander Koko
View Author

Aleksander is young developer who loves to play with the newest web technologies. In his free time, he reads about PHP, Firefox OS or experiments with a new language. Currently, his main interests are PHP design patterns, laravel, dart and cloud.

chriswcocoapodsdocumentationPackage Managementxcode
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week