Some of the most valuable skills in iOS development don’t fit neatly into a single category. Debugging a crash at 2 a.m., reading a memory graph, setting up a build pipeline, or figuring out why a tiny image eats 10 MB of RAM: none of it is “the Swift language”, but all of it makes you a much better developer.
This guide collects those topics. Dip in wherever you’re curious; there’s no required order.
Article available Coming soon
1. Debugging and Diagnostics
LLDB Survival Guide: Theory, Tricks, and Python Hooks
LLDB is more than a place to set breakpoints. You can inspect app state, test quick fixes without rebuilding, and automate common...
Zombies In Swift
In Swift, zombie objects is a debugging term for use-after-free bugs: your code tries to use an instance that has already been...
- Breakpoints and Debugging in Xcode
- Logging:
print,Logger, andNSLog - Instruments and Performance Profiling
2. Memory and Performance
Why my 0.3 MB image occupies around 10 MB on RAM?
When developing applications, especially those that handle a large number of images, you may notice a significant difference between the disk size...
- Avoiding Memory Leaks with Capture Lists
- Caching Strategies
- Persistence: Files, UserDefaults, SwiftData, and Core Data
3. Going Low-Level
Understanding GPS Hardware Basics for Mobile Developers
Mobile software developers, whether working on iOS or Android, often use GPS functionality in their apps without fully understanding how GPS works....
- Core Foundation and Toll-Free Bridging
- Unsafe Pointers and Memory Layout
- Objective-C Basics for Swift Developers
4. Security
iOS/Android Developer Security Basics
Mobile app security has emerged as a paramount concern for developers working on both iOS and Android platforms, given the increasing reliance...
- Reverse Engineering iOS Apps
- Protecting Your App Against Tampering
Want to go further? My book, iOS Security Through Defensive Techniques, covers app security in depth.
5. Tools and Workflow
Setting Up a New macOS Device: My Essential Tweaks
Getting a new Mac is always exciting, but the first few hours are usually spent setting things up just the way you...
This Is Why I Don't Prefer Git GUI Tools
Almost anyone who uses Xcode can quickly notice that it lacks many essential Git features, which is acceptable in some way since...
- The Terminal and Shell Scripting
- Regular Expressions and Swift Regex
- Continuous Integration and Delivery (CI/CD)
6. Building and Shipping
Easily Tiling Images in Interface Builder Without Code
Tiling images directly within Interface Builder, without the need for any coding, can significantly streamline your UI design process and save valuable...
- Build Configurations and Schemes
- Static vs. Dynamic Frameworks
- Swift Package Manager
- CocoaPods
For new projects, prefer Swift Package Manager. CocoaPods is in maintenance mode, though you’ll still meet it in many existing apps.
7. Writing Better Code
Test Doubles In Swift
The term test doubles draws inspiration from stunt doubles in the movie industry, where a stunt double steps in to perform dangerous...
- State Machines
- Refactoring Techniques
Up next
Back to the Roadmaps