50+ Helpful iOS Developer Resources
The tools, websites, apps I currently use to be a more productive iOS developer. Bonus favorite StackOverflow and Reddit posts.
I published a story on medium 5 years ago as I started my professional iOS developer journey, recommending some tools and resources to become a more productive junior iOS developer (I can’t believe it’s been that long).
Fast forward to today, some of the tools I recommended have sadly faded away, or I no longer use them. So, this is my new iOS developer toolkit for all folks developing iOS apps.
Disclaimer: most of the tools and websites are free, but there are a few paid/freemium apps. Also I included an affiliate link for Setapp, I personally sub to it and 100% can recommend.
- Figma is a free design & collaboration tool. I especially love the plugin support and the ability to write your own. Last, the community tab is full of folks sharing their designs for free (they have a free prototyping app called Mirror)! 🏆
- SF Symbols are the built-in icons that ship with iOS 13+. Download the mac app to view the various ones available easily. Bonus: GitHub package to easily use them in your app in a type-safe way.
- Mobbin design is a website full of design inspiration from existing apps on the App Store. They don’t have every app, but a great spot to start looking when looking for inspiration.
- Undraw is an open-source graphics site. It’s prevalent in the design community, and you’ve probably seen the graphics before. Also, it’s great for onboarding screens too.
- Feather icons is an open-source icons library. If SF Symbols doesn’t have what you’re looking for, check out these icons!
- Lottie files is a website full of animations you can add to your app via JSON files and the lottie-ios library.
- Previewed is a site for creating phone mocks for your app. It’s great for when you need something fast for the AppStore or sharing on social media.
- Emoji Unicode table. An interesting explainer on how strings render emojis in Swift.
- Sorted colors is a website for easily generating colors and themes!
- XVim2 is an extension for Xcode. You do have to sign resign Xcode, but after installing it’s 100% worth it if you use VIM. Want to learn VIM? Check out vim adventures game or type
vimtutorin your terminal. 🏆
- ZSH is a shell that adds support for themes and plugins. The favorite plugins are auto-complete, syntax highlighting, Xcode shortcuts, and VIM in shell.
- XcodeGen is one of the most underrated Swift open-source tools. It’s used for generating projects making it unnecessary to check-in
.xcworkspacefiles into git. They are generated from a
project.ymlfile. An alternative to I recently learned about: Tuist.
- Fastlane is a ruby gem that simplifies building, testing, deploying, creating apps, and much much more. You create a
fastfilefull of ruby functions that do various jobs removing the need to waste your time on them manually!
- SwiftGen is a tool for generating type-safe colors, assets, fonts, and more from the asset catalog and various other file types. I wrote a quick start guide on how to use it here.
- QuickType is a code generation tool for backend APIs. It can take various API schemes as input (i.e., JSON) and output Swift models! They have a CLI that can be added to your project run build phase or use the web app.
- Jazzy will generate a static website for your documentation comments.
- GH CLI is a CLI tool for interfacing with GitHub. You can create new repos, clone projects, make pull requests, and much more. For example:
gh pr create -B developwill make a PR with your current branch against develop (the mobile app is nice too).
- GH Actions are GitHub’s CI solution. They have a free tier for every new repo and support macOS and Linux ENVs. It’s similar to Bitrise or Circle but more convenient if you use GitHub.
- Firebase, AWS Amplify, and CloudKit for quick backend solutions. Firebase and Amplify both have CLI’s that make it easy to create a project and deploy it. Firebase is a bit more user-friendly as it’s been a go-to for mobile devs for after Facebook sunset Parse 🪦. Some folks have used Google Sheets and Airtable as simple APIs too.
- HLVM is an app I recently ran across on Reddit. It’s like spotlight but for coding. You can search StackOverflow and see the results in the spotlight window.
- Charles an HTTP proxy. You can use it to read API data, edit requests and responses, set breakpoints, and more (the mobile app is nice). An alternative is Proxyman which is included in Setapp.
- iTerm2 is the terminal app I use. It has support for profiles, themes, and much more.
- Sherlock is similar to the view inspector for in Xcode but a lot faster. Use a keyboard shortcut and easily inspect views on the simulator.
- GitKraken is my goto git client. I’ve been using it for 5+ years now. I am a visual person and can’t remember every git command, so I use this. They make it easy to do interactive rebasing and see a diff during merge conflicts.
- No code tools for quick projects or making an MVP. This is a list of various ones you can try. I personally haven’t used many apart from testing details pro and Webflow for an app landing page.
- Streaks is an iOS, watchOS, tvOS app for doing quick at-home workouts. Exercise has many benefits for your physical and mental health! Also, muscle wiki is the best site for strength training examples.
- Apple Music — my very professionally curated playlist 🎶
Setapp is Netflix for mac apps. It has many apps made by indie devs, and they’re always adding more! I (mostly) stopped buying mac apps and have a subscription to Setapp.
Here are my favorites:
- Paw is an HTTP client to test your API. I like their interface more than postman and having a native mac app is nice!
- Dev Utils is full of various utilities from regex tester, string inspector tool, JSON validator, converters, etc.
- SideNotes a convenient spotlight note app that lives on the side of your screen (supports markdown, folders).
- Paste is a clipboard manager that you can summon with a keyboard shortcut. Probably my most used app here. 🏆
- Gifox allows you to make gifs in seconds and edit/upload/share quickly.
- Bear is a markdown notes/writing app. I like how minimal it is, and their iOS is 5 stars.
- Sip is a color organizer and picker. The picker copies any color to your clipboard and will format it to a Swift color.
- SwiftUI cheatsheet — this a great visual cheatsheet for SwiftUI. Fun fact the person that made it quit his job on Reddit to do so. Not sure if it was a meme or legit, lol. Also, s/o to this cheatsheet.
- Extension Kit — is a library that contains helpful SwiftUI, UIKit, and Foundation extensions to speed up your development workflow!
- PropertyWrappers cheatsheet and visual! i.e
- Combine reference and API guide. Also, I wrote a short Combine guide/cheatsheet that you can find here!
- Animations repo full of many animations written in SwiftUI.
- Codable cheatsheet is the ultimate guide to decoding/encoding JSON with
Codable. Do you want more useful
Codableerror support, check out this project.
- iOS Ref one of the best resources for everything related to specs and documentation, device resolution, docs, processors, etc. 🏆
- Colors cheatsheet is useful for implementing dark mode and details what we get for built-in color support.
- GIT cheatsheet is a great resource to keep bookmarked because GIT is honestly 50% of the job!
- Terminal cheatsheet is a brief rundown of commonly used terminal commands.
- Vim cheatsheet if your rusty or are learning vim.
- Gitignore generator is an easy way to generate a
gitignorefile for any language or IDE.
- React Native cheatsheet is handy if your team pivots to a cross-platform framework.
“Once you stop learning you start dying” — Albert Einstein
- Official Apple tutorials are great for beginners starting with SwiftUI development.
- Pointfree is a video tutorial website. They’ve also open-sourced many cool projects like one for screenshot testing and architecture. I love their unique approach to solving problems and what’s the point sections.
- Design+code is my go-to for learning new design-related tools and techniques.
- RayWenderlich books are great for all types of developers. The authors are great at explaining difficult concepts through images and code samples. I personally have purchased their ML, AR, and SwiftUI books.
- Swift with Majid is a Swift blog and newsletter. I like Majid’s coding style and writing style.
- Hacking with Swift is like StackOverflow for Swift. Any time I search for something on Google, his site is at the top! Also, this thread on Twitter from Paul responding to a flutter dev is legendary.
- UseYourLoaf has been posting articles for as long as I can remember. Very short and concise and straight to the point.
- Swift News repo made by a fellow YouTuber Sean Allen. He makes weekly videos on Swift news. You can find the topics he talks about here!
- App security and reverse engineering (stop putting API keys in plain text plists anyone can easily see). 🏆
- Performance is something that is a second thought or rarely considered by developers. There are tradeoffs to everything, and knowing the performance cost will help make better decisions.
Interviewing resources that cover common questions you may be asked in behavioral and coding settings.
- Companies that don’t whiteboard.
- Algorithms visualizer lets you see algorithms visually in real-time.
- CS Refresher has easily digestible notes if you need a refresher.
- Ray Wenderlich GitHub questions
- Denis Litvin GitHub questions
- Awesome iOS interview questions and code
- A behavioral resource to checkout.
- Pramp — practice, practice, practice with others over video. 🏆
- Codesigning is probably the most confusing thing about iOS development and doesn’t click unless you’ve done it a few times. Here’s a great explainer.
What are code signing identities?
You've definitely hit on a topic that gets very deep very quickly and is a common source of headaches when trying to…
- Why do we use capture lists, and when should I use unowned/weak self? Great read IMO!
Shall we always use [unowned self] inside closure in Swift
No, there are definitely times where you would not want to use [unowned self]. Sometimes you want the closure to…
- If you ever end up in a situation where you have to use Objective-C in Swift or vise versa, check out this explainer on how to do it.
How do I call Objective-C code from Swift?
Asked In Swift, how does one call Objective-C code? Apple mentioned that they could co-exist in one application, but…
I’m not going to summarize these, but give them a read and join some Reddit communities!
Finally, if you’re starting, you're not late to the game. I’ve been doing this for 5 years and still feel like a beginner in many aspects. Not to mention, Swift is still a relatively new programming language and is constantly evolving. You can’t forget that SwiftUI was released only 2 years ago and will be more in demand. You can persevere and learn iOS development regardless of your age or starting point. Need proof? Check this video!