Boost your productivity in 2019 by using the best utilities for your next iOS project. This is a comprehensive list of of the most amazing Swift developer tools.
Package managers - must have!
If your code relies on 3rd-party frameworks, you should definitely use some sort of tool that can integrate them into your project. I already mentioned a rule before in an article about tips on how NOT to develop iOS applications, but I'll quote myself:
NEVER connect 3rd-party libs by hand
In 2019 you'll have the following package manager options to choose from:
There are other similar tools for managing your command line scripts:
My personal favorite is SPM (it's like Carthage on steroids), also I don't belive that a centralized repository store is a good idea for a package manager, that's why I don't recommend CocoaPods or Ice. If you want to know how the official Swift Package Manager works, you should read my previous tutorial. 📦
Note for beginners: just go with CocoaPods first, safe bet, everyone uses it.
SwiftLint - forget style guides
A tool to enforce Swift style and conventions
Don't waste your time with useless style guides! Use SwiftLint to format & validate your code. It's an amazing piece of software, it's super easy to install, it can run as a build script plus it can autocorrect most of your code styling mistakes.
You can customize your rules by using a
.swiftlint.yaml configuration file, you should read the readme file on github, it's pretty straightforward to install & use it.
iconer - one size to rule them all
App icon generator for Apple platforms.
Generating proper app icon sizes both for iOS, macOS, tvOS & watchOS apps is a real pain in the ass. With iconer you can simplify this task. You can install it via brew:
brew tap corekit/tap https://gitlab.com/corekit/brew brew install iconer
Now you can use it like
iconer ~/AppIcon.png to generate all your assets. You can even add it as a build phase if you want, so icons can be regenerated every time you build your app with the proper sizes and formats for every target (
man iconer). 👍
Code generators - no more boilerplate!
Get strong typed, autocompleted resources like images, fonts and segues in Swift projects
Honestly I really envy Android developers because this feature is built in directly to the platform. Dear Apple, we have a nice "new" languege, please give us the proper tools for strongly typed resources! 🥺 Anyway, R.swift is gives you the ability to generate almost everything, so your code won't be full of resource name strings.
Meta-programming for Swift, stop writing boilerplate code.
With Sourcery you can generate any kind of Swift code, you just have to create some templates & run the command line tool. My only concern about this tool is the stencil templating language itself, because I'm not a big fan of it. 🤐
This codegenerator is too brilliant to be real!
If you are into VIPER like me, generamba can be a good fit for you. It can generate modules based on customizable templates. Generamba is using the liquid template language as it's base. It's a nice code generator tool (not just for Swift), I'd definitely recommend it. Oh, btw have you read my VIPER tutorial? 🤓
Jazzy - docs made simple
Soulful docs for Swift & Objective-C
If you want to have a nice documentation for your library don't hesitate to use Jazzy! Super easy to install, just a few lines of code to run + you can integrate it as a build phase, so docs can be generated directly from Xcode. You just have to write 'em! 😂
Bitrise - CI that just works
Continuous integration and continuous delivery for mobile apps
We can't really say this about the Xcode build server stack, but bitrise.io is a mature automation service made (not just) for
Apple mobile developers. The first thing that you'll need to start using it is a bitrise account. Feel free to sign up through this link, so I can have a little extra build time. 😅
They also love cats & robots, so they must be good guys! 🐱 Just go & sign up!
Your friendly iOS Code Signing Doctor
If you ever had issues with code signing, you should definitely try codesigndoc! Unfortunately at this point there is no brew support for this tool, but hopefully soon will be availabe through homebrew as well. It also supports Xamarin projects.
App automation done right
Screenshots, beta or App Store deployments, code signing and even more! If you haven't heard about fastlane tools before, now it's the time to go for it. It supports both the major mobile platforms with comprehensive documentation plus lots of tutorials around the web. Also ~25k ⭐️ on github, so that must be something, right? 😝
Other useful tools
Here are some more helpful tools for Swift developers:
- Brew - The missing package manager for macOS
- Danger - Stop saying "you forgot to …" in code review
- Swiftdoc - Auto-generated documentation for Swift
- xcbeautify - A little beautifier tool for xcodebuild
- Splash - A fast, lightweight and flexible Swift syntax highlighter
- XCTestHTMLReport - Xcode-like HTML report for Unit and UI Tests
- AppSpector - Visualize, inspect, and control your apps remotely in real-time
Did I miss something? Feel free to contact me & subscribe for more! 😉