Ultimate iOS Development Tools List
Are you ready to build an iOS mobile app?
I’ve got some good news for you; iOS development isn’t as difficult as other types of programming. But with that said, it’s still something you need to learn before you can just jump right in.
Fortunately, the Internet is full of resources and tools, so you can teach yourself how to build an iOS app.
However, those tools are spread out all over the place. That’s definitely the most optimal way to learn something new.
Even if you’re an experienced iOS developer, taking advantage of different tools and resources can simplify your development process.
Rather than spending days or even weeks doing endless Google searches, I wanted to make it as easy as possible for you to find relevant tools. This ultimate list of iOS development tools has been broken down into five sections.
- Language resources
- Editors and IDEs
- YouTube tutorials
So feel free to jump around to the section that you need the most help with. Whether you’re a beginner, expert, or somewhere in between, you can use this guide to help you build an iOS app.
Language Resources for iOS Development
There are two programming languages for iOS development.
These are the best resources and tutorials on the web for learning those programming languages.
Stanford teaches you how to develop iOS apps with Swift. The course is available via iTunes U for iPhone and iPad. You’ll learn about the tools and APIs that are required to build apps with the iOS SDK.
In addition to Swift, Stanford will teach you about multi-threading, mobile device power management, memory management, animation, and object-oriented design.
There are 46 lectures in this course, and they’re all free.
Hacking with Swift
Hacking with Swift is a practical way to learn this programming language. They take you through real-world projects with iOS so you can test your new skills right away with a hands-on experience.
You’ll have access to 40 online Swift tutorials for free. Once you get through that, you can purchase other online books that go deeper into Swift coding.
The Swift Language center has resources that teach you how to use the newest versions of Swift. They also have the full Swift development environment, so you can code as well.
My favorite part about Swiftlang.eu is the community forums. Experienced developers are usually active and readily available to answer questions for beginners who need some help or clarification.
Thinkster starts from the beginning. The tutorial introduces each component of Swift, starting from its infantile stages. It’s a well-structured resource with readings and videos for different subsections. Thinkster covers things like:
- Swift syntax
- Swift types
- Loops and conditionals
- Functions and closures
- Object-oriented programing
Before you get started, you need to have a Mac that’s running on Mavericks or Yosemite, Xcode6, and an Apple developer account.
Udacity has this great blog post about iOS programming languages. It was published a few years back, but the content can still help you today. The post starts by introducing you to Xcode before getting into the fundamentals of Swift. It’s a quick read and very helpful for beginners.
I think it’s safe to say that the name speaks for itself. Design+Code teaches you how to design and code iOS apps. You can sign up for premium access just $9 per month, billed on an annual basis.
The resource comes with over 60 hours of courses. There are 19 sections on learning Swift, and an additional 22 sections for advanced Swift users.
Cocoa is My Girlfriend
CIMGF is a blog. It’s not very flashy, fancy, and isn’t updated that frequently. But with that said, it still provides in-depth analysis on Swift and Cocoa, making it a resource that’s definitely worth reading. I’d recommend it for anyone who learns well by reading blogs.
Editors and IDEs for iOS Development
An IDE is an integrated development environment. The original IDE built by Apple is Xcode.
However, there are alternative options for iOS development. I’d recommend using Xcode first, but it’s worth knowing the others if you want to try something new or experiment.
Xcode is the official integrated development environment for Swift, offered directly from Apple. It’s arguably the most powerful coding platform on the market. With Xcode, you can build apps for:
- Mac computers
- Apple TV
- Apple Watch
Every iOS developer should learn how to use Xcode before they move on to anything else.
With CodeRunner, you can code in any programming language. This lightweight programming editor is available for the affordable price of $14.99.
Right out of the box, you can use it for Swift on the IDE level with debugger support and syntax highlighting. It’s worth checking out if you want to branch away from Xcode.
AppCode is powered by JetBrains. This IDE is compatible with both Swift and Objective-C.
The AppCode debugger also supports iOS extensions, just like Xcode. Some of the top features this IDE include:
- Smooth project navigation
- Smart completion
- Reliable refactorings
- In-depth code analysis
- Productive unit testing
- Rename refactoring
It’s definitely a top IDE to consider for iOS development.
Libraries for iOS Development
I’ve identified the best libraries for iOS development. You can definitely find everything you need on this list.
Some of the libraries are extensive and could be considered an all-in-one tool. But other options are for more specific needs.
The RxSwift library is specifically made for asynchronous programming. You’ll go through the basics of getting started with RxSwift before learning traits, testing, debugging, and the math behind Rx.
CocoaPods is one of the most extensive dependency managers for programming in Objective-C and Swift Cocoa projects. There are more than 59,000 libraries here.
It’s also one of the most popular libraries on the web. Over three million apps have used CocoaPods. This library will help you scale your mobile app development projects.
The Foundation Framework
The Foundation Framework is the official library from the Apple Developer Documentation. Apple and the developer community recommends this library for anyone programming in Objective-C.
With the Foundation Framework, you can access collections, data types, and operating-system services that will define the base layer functions for your mobile app.
Libraries Used in the Top 100 iOS Apps
Ryan Olson published a blog post on Medium a few years ago titled, “Libraries Used in the Top 100 iOS Apps.” It’s always a good idea to follow those who have succeeded before you. Even though the list hasn’t been updated in years, I’m sure the list of libraries hasn’t drastically changed.
Alamofire is an extensive library for HTTP networking for Swift. Just to name a handful, the library covers things like:
- HTTP methods
- Parameter encoding
- Response handling, validation, and coding
- Statistical metrics
- Routing requests
- Network reachability
The library covers everything from introductory to advanced use cases for HTTP networking.
Trending Cocoa Pods
Trending Cocoa Pods shows the most commonly used libraries in Cocoa. It used to be updated on a daily basis, although it looks like it hasn’t been updated in a couple of years. With that said, the list is still worth checking out.
Swift Standard Library
The Swift Standard Library is another resource that comes directly from Apple. It’s similar to the Foundation Network, except it’s made for developers writing in Swift as opposed to Objective-C.
Some of the topics in this resource include:
- Standard library
- Data modeling
- Data flow
- Control flow
- Language interoperability
This is the recommended Swift library by Apple developers.
The SDWebImage library is for asynchronous image downloading. The downloader comes with cache support as well. It supports JPEG, PNG, and GIF image formats. SDWebImage also supports WebP and animated WebP formats, along with new image formats for exentable coder plugins such as SVG, APNG, HFIF, and BPG.
It’s safe to say that the name says it all. The SwiftyJSON library is for developers dealing with JSON data in Swift.
Since Swift is strict about data types, it can be challenging to deal with JSON. This library helps you simplify your code so that it doesn’t become an unreadable mess. SwiftyJSON handles all of the optimal wrappings for you automatically as well.
It integrates with CocoaPods, Carthage, and the Swift Package Manager as well.
PromiseKit simplifies your asynchronous programming process. The library will help you write code that’s clearer and easier to read.
One of the best parts about PromiseKit is that it’s open source and updated on a regular basis.
BrightFutures is another asynchronous coding library for Swift. It’s a very popular resource and has more than 500,000 monthly active users. The library is updated frequently and has been proven to implement functional concepts into Swift development.
Plugins for iOS Development
Plugins can help you customize your coding environment. But there are seemingly countless options on the market today.
If I included every plugin on this list, it would probably take me a year to review them all. So I narrowed down my favorite plugins and the best ones for you to consider for iOS development.
Injection for Xcode
Injection for Xcode is a plugin that allows you to alter the implementation of Objective-C classes. You can make this work without having to restart the app with this plugin.
You can find the newest version of this plugin on the iTunes App Store for Mac.
CocoaPods is a dependency manager for iOS and OS X. This plugin makes it much easier for you to use CocoaPods with XCode.
CocoaPods is an open source plugin.
Finestructure CoPilot is a plugin for Xcode. This makes it possible to collaborate with other developers for simultaneous editing. It’s a great way for you to speed up the coding process.
If you navigate to the website, there is a cool video demonstration of how the plugin works. It’s just over one minute long, so it’s quick and definitely worth watching.
The GitDiff plugin adds visual information to streamline code edits in Xcode git. Basically, it highlights any deltas against your git repo.
The plugin makes it easier for you to identify and change lines of code. It will also offer you some suggestions based on your parameters.
AllTargets has a very specific function. This plugin is designed to automatically select the new targets when new files get added to Xcode.
The selections will depend on your configuration for each project.
Peckham is an Xcode plugin that simplifies your imports. You can write import statements with pop-ups.
It’s worth noting that the Peckham’s creator has identified some known issues with the plugin, such as:
- Use headers are not always handled properly
- Header duplication visible with CocoaPods
- Searches include the whole path of the header
- Sometimes the table cell will highlight the incorrect string
So keep these in mind before you install Peckham. Hopefully, the bugs get worked out soon.
RunEverywhere Xcode Plugin
As the name implies, the RunEverywhere XCode Plugin lets you run your app across multiple iOS devices.
You no longer have to manually switch between your device destinations. You can seamlessly switch development tests between iPhone and iPad with the RunEverywhere plugin.
XToDo is an Xcode plugin. It collects and lists your TODO, FIXME, ???, and !!! functions. The plugin will also show stats for items that have been finished or unfinished. Results can be filtered by category if you have too many TODOs.
Xcode Colors adds color to the debugging console. This feature is made to streamline the debugging process. For example, you could have all of your error messages print out in red, so they stand out, or use different colors to separate parts of your code in a logical format.
In short, the plugin is a visual aid for debugging in Xcode.
Dash is available for Mac, iPad, and iPhone. It gives your device access to more than 200 API documentation sets and more than 100 cheat sheets.
It’s an open source resource where you can even generate your own docsets. The plugin is basically a code snippet manager.
As the name implies, SCXcode Minimap draws maps for your code. The reason why this plugin is so helpful is because it allows you to immediately identify where you are within your code. Some of the top features include:
- Custom sizing
- Custom themes
- Highlighting (search results, breakpoints, build errors and warnings)
- Automatically hide smaller files
- Hide the main editor
- Display code foldings
Everything can be configured with the Minimap menu once the plugin is installed.
HSKSnippet creates code snippets in Xcode using trigger strings. This minimizes the manual input for code that’s often used. You can even input code snippets with parameters, which is a newer feature for this plugin. It’s very easy to use. All you need to do is type the trigger string for the corresponding snippet to appear.
The KSImageNamed plugin is for Xcode and supports both Swift and Objective-C. It autocompletes your imageNamed: calls. So all of the images in your project will be easily located in the autocomplete menu.
The RTImageAssets checks for an image size and then creates dummy images whenever your assets are missing. It only generates missing assets. The plugin renames those image files as well.
It’s worth noting that the plugin is updated on a regular basis. It appears as though older versions of Xcode are no longer supported.
The purpose of the XCFui plugin is very simple. It identifies your unused imports. After installing the plugin, all you need to do is go the “File” menu in Xcode and navigate to “Find unused imports” at the bottom.
With the Remote plugin, you can control your iOS devices (like iPhones or iPads) within Xcode when you’re running tests. The purpose of this is so you don’t have to physically pick up your mobile device to test it out while you’re going through the development process.
It also has a Marco log with an editable WebView that you can modify at any time. You can record your tests and save them as a Quicktime video to reference later on.
Crayons is a color manager for your interface builder. This plugin lets you share color palettes from source files and directly add them to your interface builder without having to recreate them manually from your color picker.
Any time you want to change a color, you just have to alter the implementation. All of the colors get generated dynamically.
The KZLinkedConsole plugin makes your life much easier. Once installed, it allows you to create clickable links and log messages to jump between lines of code. This is much easier than aimless scrolling.
The CATWeaker plugin is a helper tool for creating CAMediaTImingFunction curves. Basically, it makes this function more visible when you’re working in Xcode. It’s similar to ColorSense, but CATWeaker automatically shows the curve as an overlay. The curve adjuster lets you alter the curve in real time.
MarvinXcode lets you add commands and hotkeys while you’re developing in Xcode.
It automatically comes with a large collection of deletion commands, duplication, and text selections for coding. Essentially, this plugin can speed up your coding process.
XcodeBoost makes it easy to alter and inspect Objective-C code in Xcode. It automates tedious processes like extracting method declarations from definitions, adding line-based code manipulation, and persistent highlighting.
XcAddedMarkup adds custom markups for hyperlinks and images in Xcode. All of this takes place in the Xcode source editor. It’s a nice add-on for the XcodeColors plugin, which we talked about earlier on our list.
Youtube Tutorials for iOS Development
Often times, watching someone do something is much easier than reading about it. YouTube is a great resource for visual learnings.
When it comes to iOS development, there are certain channels and videos that have in-depth tutorials. All you have to do is follow along with the screen recordings. In my opinion, these are the best tutorials on YouTube for mobile development with iOS.
Ben Johnson has a 25 part series on iOS development. You can skip over the Mac requirements video since it’s outdated. Some of the top videos cover things like:
- Creating new projects
- Navigating Xcode
- Using variables
- Designing and building interfaces in storyboard
- Editing headers to create custom classes
- Keyboard customization
- App icons
- Tab bar icons
As you can see, the videos go through a wide range of topics. On average, the videos are around ten minutes or so. He does a great job of explaining how to do things with his screen recordings and voice-overs.
A Casual Programmer
A Casual Programmer has tutorials in specific categories for iOS development. This channel has seven videos on iOS game development, ten videos on iOS application development, as well as ten videos for Objective-C programming.
With less than 4,500 subscribers, this definitely isn’t the most popular channel on YouTube. But with that said, the tutorials are extremely informative. Even without a ton of subscribers, his iOS application development tutorial has more than 134,000 views.
Stanford – theITx
TheITx channel covers lectures at Stanford University. The videos show the instructor speaking to the class. It’s mostly hands-on tutorials and explanations on programming. In order to understand these videos, you need to have a basic understanding of object-oriented programming.
So I can’t say I recommend these tutorials for a developer who is a beginner and starting from scratch. The majority of the content covers developing apps with Swift.
The New Boston
Over 2.2 million people have subscribed to The New Boston YouTube channel. Their videos cover things like graphic design, programming, web design, networking, and game development. So it’s not exclusive to iOS development.
With that said, there are still plenty of iOS resources and tutorials in here for you to check out. Just search their page for something you need help with, and there’s a pretty good chance you’ll find a solution.
There are more than 4,000 videos on this channel, and over a hundred are related to iOS development.
Code with Chris
Code with Chris is probably the best YouTube tutorial resource for beginners. His introductory guides and videos can teach you how to build an iOS app, even if you don’t have any prior coding experience.
More than 180,000 people subscribe to this channel. Unlike some of the other YouTube tutorials we’ve seen, Chris updates his content on a regular basis. In fact, he just came out with a new 10 part series for 2019. The series covers the latest version of both Swift and Xcode.
Chris is highly accessible as well. You can always reach out to him on Facebook if you have questions or need some direction with your projects.
Brian Advent has a wide range of video tutorials on his YouTube channel. Here are some of the playlists you should check out that are related to iOS development:
- Swift (138 videos)
- Xcode (27 videos)
- 24 days of Swift tutorials (11 videos)
- iOS features and framework (33 videos)
- Swift tutorial conference (6 videos)
- Swift basics (14 videos)
- Become an iOS developer (5 videos)
- Cocoa programming (4 videos)
Some of his best videos are a little older, but he has new videos that are uploaded on a regular basis. So it’s worth staying up to date on his channel as he continues to produce new and relevant content for iOS development.
Ravi Bedre is another top YouTube channel for iOS developers to use as a resource. I’d recommend checking out his content covering:
- Swift programming tutorials
- Objective-C tutorials
- iOS app development
Ravi also has videos related to PhoneGap, Android, C#, and more. So he’s well-versed in this space, to say the least.
The AppShocker isn’t as extensive as some of the other tutorials. In fact, the entire channel only 14 total videos. But with that said, they are much longer than the average tutorials that we’ve previously discussed. Some of the videos are more than 30 minutes long.
The content on AppShocker is broken down into three categories.
- iOS programming with Objective-C
- Swift programming for iOS
- WatchKit app programming with Swift
All of the videos are screen recordings with a voiceover. The tutorials are helpful for beginners and experienced developers alike.
Bonus Tools for iOS Development
There are a few additional resources that didn’t necessarily fall into the sections above. But they’re still worth mentioning, and I wanted to make sure you had access to them.
While we’re on the subject of bonus categories, you should definitely check out my guide on the top mobile ad networks. Ads are a great way to monetize your app once it’s been developed and launched. But you’ll need to join an advertising network to set that up.
The Cocoa Manifest hasn’t been updated in years, and it doesn’t look like there is any sign of updated content in the near future. But there’s a good reason why I wanted to include it on this list.
Jonathan Penn, the author of the manifest, stopped contributing because he was hired as a software engineer for Apple. So it’s safe to say that his work is legitimate.
The website is very simple and there’s nothing flashy about it. However, it’s still a good resource for some basic fundamentals as well as advanced functionality for iOS developers.
Ray Wenderlich has more than 3,000 tutorials on his website. More than 2,800 of those tutorials are related to iOS and Swift. In order to access the tutorials, you just need to download the source code and personalize your profile.
By setting up a profile, it makes it easy for you to track your progress along the way, which is very helpful for beginners. This site also has a great network of open forum discussions that you’ll be able to contribute to as well.
NSHipster has eight contributors. The purpose of this online journal is to cover overlooked components of Objective-C, Cocoa, and Swift. So it’s definitely geared toward advanced and experienced developers, as opposed to beginners.
I like this resource because you get the perspective of different programmers, as opposed to just seeing the same viewpoint over and over again, like the majority of the resources on our list. Another great part about NSHipster is that it’s updated on a regular basis.
Don’t try and develop an iOS app on your own or in a vacuum. Your life will be much easier if you take advantage of various tools and resources.
Ultimately, by streamlining the development process and using tools on this list, it will end up improving the quality of your app as well.
I’ve included more than 50 of the best iOS development tools in every category. So whether you’re a beginner, expert, or fall somewhere in between, you’ll definitely be able to find what you’re looking for.
Refer back to this guide during all of your iOS development projects and use it to help you build a mobile app.
What tools are you using to simplify your iOS development process?