Tutorials / courses
- Ray Wenderlich - tutorials on generic iOS development (all levels),
- objc.io - in-depth articles and video talks on iOS development (intermediate),
- Quality Coding - resources on unit-testing for iOS (intermediate),
- pointfree.co - video talks on functional programming in Swift (advanced).
- Carthage - dependency management,
- SwiftLint - linter for Swift code (make sure to activate most of the opt-in checks),
- Fastlane - scripts for CI/CD & general development workflow automation,
- Sourcery - code generation for Swift,
- SwiftGen - statically typed resources (fonts, images, assets),
- Reveal - powerful view hierarchy debugger,
- Tower - fast git GUI client for Mac,
- Kaleidoscope - powerful diffing tool for Mac.
Libraries (production)
- RxSwift - functional reactive programming for Swift (advanced),
- RxDataSources - table view & collection view data bindings for RxSwift (advanced),
- RxFeedback - feedback loop architecture based on RxSwift (advanced),
- Anchorage - utility to easily define constraints in code,
- Swinject - Dependency Injection container for Swift,
- SwinjectAutoregistration - utility to easily register dependencies in Swinject container,
- MBProgressHUD - popular component for displaying progress HUDs,
- Realm - fast, object database for mobile apps,
- AlamofireImage - utility for image loading and caching,
- KeychainAccess - managing iOS Keychain simplified,
- Hero - nice transitions between controllers (animations).
Libraries (testing)
- swift-snapshot-testing - snapshot testing for views & controllers,
- Quick - BDD style unit-testing framework,
- Nimble - matcher pack for Quick,
- SpecTools - general unit-testing utilities for UIKit (simulating gestures, etc.),
- specleaks - detecting memory leaks.
Example projects