The Best Tools For iOS Developers

By Eddy Chung

Let’s go over some of the best tools for iOS developers I use regularly.

Design Tools

These are some of the best design tools you can use to mock up or create iOS designs and assets.

Figma

slider

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

sketch

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

sketch_1

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

prepo

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.

Debugging And Monitoring

Here are some tools to help debug your crashes and monitor the status of your app over time.

Fabric

fabric

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

fabric_1

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

flex

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:

  • Inspect and modify views in the hierarchy.
  • Observe detailed network request history with timing, headers, and full responses.
  • View system log messages (e.g. from NSLog).
  • Access any live object via a scan of the heap.
  • Browse SQLite/Realm databases in the file system.
  • Quickly access useful objects such as UIApplication.sharedApplication, the app delegate, the root view controller on the key window, and more.

Charles Proxy

charles

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

charles_1

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.

Continuous Integration And Deploying

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

xcpretty

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

xcpretty_1

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:

  • Automate screenshots for the App Store
  • Beta Deployment
  • App Store Deployment
  • Code Signing

TestFlight

xcpretty_2

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.

Dependency Management

Using third-parties libraries to make your app better is awesome, managing their dependencies is not.

CocoaPods

cocapods

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

carthage

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

Testing your app is just as important as making it. Here are some tools to help minimize bugs.

KIF

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

carthage_1

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.

SnapShot Tests

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.

Other Developer Tools

Here are some other dev tools I use often that didn’t fit into any other category.

Iterm 2

carthage_2

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:

  • Color Scheme customization, makes your terminal look beautiful
  • Keyboard shortcuts, fully configurable
  • Smart selection for urls, emails, etc
  • Split panes support
  • Paste history
  • Autocomplete
  • Search

SourceTree

carthage_3

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

firebase

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

dash

Dash makes browsing Apple documentation way more pleasant!

Super fast search and offline functionality makes this tool a winner.

Xcode

dash_1

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.

If you liked this post, you'll love my free guide: Secrets To iOS Development. Speed up your learning curve - hundreds of students have already downloaded. Thanks for reading!
Profile Picture of Eddy Chung

Eddy Chung

I am a professional iOS developer in Silicon Valley. I teach iOS development on ZeroToAppStore.com. If you'd like to learn more about me click here or you can contact me at: eddy@zerotoappstore.com

Similar Posts