Let’s go over some of the best tools for iOS developers I use regularly.
These are some of the best design tools you can use to mock up or create iOS designs and assets.
Figma is a relatively new tool. There are several reasons why designers are switching to Figma.
It’s similar to Sketch, allowing you to have an infinite canvas to design your artboard or screen.
Figma makes collaboration a lot easier. You can send somebody a link and easily have somebody else comment or make changes.
Layers are easier to navigate and re-arrange. Copy specific styles from one element to another is also super easy.
The biggest pro is Figma is FREE. If you haven’t tried it out, give it a shot. It also works on Mac and Windows.
Sketch started a revolution in new design tools for apps and the web. Before Sketch all we had was PhotoShop.
Sketch is better than PhotoShop because it specializes in creating UI mockups and wireframes. It’s only available for Mac, but most iOS developers own a Mac machine anywas.
It is quick to learn and everything is vector by default. There are tons of plugins that extend the capabilities of Sketch as well.
Sketch costs $99 USD a year.
Flawless allows you to compare the expected the design to the real app right inside of iOS simulator.
This allows you to build pixel-perfect apps faster and with less back and forth between you and your designer. The app is used by companies such as Disney, Uber, Spotify and more.
The company offers a free trial and it’s just $35 USD to purchase after that.
Prepo is a free tool that allows you to preview and resize app icons and assets.
This tool allows you to design and preview in context. Making mocking up icons and assets super quick and easy.
It makes exporting images to @1x, @2x, @3x very simple as well.
Here are some tools to help debug your crashes and monitor the status of your app over time.
Fabric is a platform that helps mobile teams better understand their users and build better apps.
They provide Crashlytics, which is a feature that allows developers to monitor and detect crashes. This allows developers to deploy fixes fast.
Deployment is also made easier with Fabric, features in the platform streamline and automate beta distribution and app deployments.
There’s also more analytics for engagement and retention, giving developers insights on how to improve their app. You can also track your growth, active users and even revenue through the platform.
Fabric allows you to get started for free and charges depending on your usage later on. Fabric was acquired by Firebase recently.
Applyzer provides App Store market analysis and optimization. It lets you track how your App is performing in the App Store over time.
It also has a cool keyword research tool that lets you see the most relevant keywords for your app.
FLEX, which stands for Flipboard Explorer, is an amazing tool I’ve used many times.
It lets you view and modify any state of your application. The best part is, it works in your app and in real time.
Here’s a short-list of my favorite features:
UIApplication.sharedApplication
, the app delegate, the root view controller on the key window, and more.Charles is a great tool for any developer working with APIs. It is web debugging proxy application that lets your monitor and filter network traffic being sent to your application.
You can also use it to throttle bandwidth, simulating a slower network connection. This is useful if you’re making apps for the developing world.
This tool is super handy when an API isn’t behaving as you expected or as its documented.
Postman simplifies API development. It is a complete API development environment, complete with tools to test, monitor and debug APIs.
Not all iOS developers have to develop an API, but when you do, this tool makes the experience so much better.
Getting the app from your development environment to production can be a cumbersome and repetitive process. Let’s look at some tools to make deploying to the App Store easier.
XCPretty is a fast and flexible build formatter for xcodebuild
. As the authors state: it does one thing and does it well.
It basically formats the output of xcodebuild
into something readable so you can more quickly determine if there’s a problem with your build.
Hopefully Apple will improve xcodebuild
one day, but for now we can use this tool.
Fastlane is a great tool to build and release mobile apps. It does all those repetitive tasks so you, as a developer, don’t have to.
Here are some of it’s key features:
TestFlight is a tool made by Apple to make beta testing simple. It allows you to easily invite users and collect feedback before releasing to the App Store.
It currently has a limit of 10,000 users you can invite via email or a link.
Using third-parties libraries to make your app better is awesome, managing their dependencies is not.
CocoaPods is my favorite dependency manager and has a large library of pods
which are third party libraries.
CocoaPods makes it super easy to install third party libraries as well as update and manage their dependencies in an efficient manner.
Carthage is the other major dependency manager used. It differs from CocoaPods as it doesn’t have a centralized repo of third-party libraries.
Carthage is a decentralized dependency manager and also gives developers more flexibility. It’s designed as a simple tool.
Testing your app is just as important as making it. Here are some tools to help minimize bugs.
KIF stands for Keep It Functional. KIF allows you to create integration tests to test user interfaces. I’ve used KIF for years in the industry.
It aims to mimic user input and tap events. This ensures it’s as close to somebody manually testing the app as possible.
Quick is a behavior driven development framework for Swift.
It’s main advantage is creating very descriptive tests and many developers prefer to the built-in XCTest
Apple provides.
iOS Snapshot Tests is a great way to test individual views. Originally developed by Facebook and now maintained by Uber.
Testing UI is hard and has a lot of edge cases. Snap shot tests make testing views as easy as testing logic code. If you’ve worked with ImageDiff tests before for the browser, this is a similar tool for iOS apps.
Here are some other dev tools I use often that didn’t fit into any other category.
Iterm 2 is my preferred terminal choice. I haven’t used the default Mac terminal in a long time.
Iterm 2 comes with tons of useful features and is extremely customizable. Here are some of my favorite features:
SourceTree is a git GUI. Sure, I usually use the command line for git commands. However, when you’re trouble shooting why something went wrong, having a visual representation is very helpful.
It’s also very simple for beginners and has advanced features for experienced users.
Firebase is mobile development platform made by Google. It lets you worry less about the backend and infrastructure, giving you time to focus on your app.
It’s extremely powerful, with features like databases, cloud functions, auth and analytics. Free to start and charges only as you gain more users.
Dash makes browsing Apple documentation way more pleasant!
Super fast search and offline functionality makes this tool a winner.
Xcode, you already know what this is. Love it or hate it, it’s definitely still the best IDE for iOS developers.
It has gotten a lot better over the years and Apple keeps improving it.
Firebase is mobile development platform made by Google. It lets you worry less about the backend and infrastructure, giving you time to focus on your app.
It’s extremely powerful, with features like databases, cloud functions, auth and analytics. Free to start and charges only as you gain more users.
The Complete iOS App Development Bootcamp
Disclosure: This website may contain affiliate links, meaning when you click the links and make a purchase, we receive a commission.