By experience, we find out a short way by a long wandering.
Do you have 1 minute? If yes, that’s enough to know the latest iOS best practices.
In this article, we’ll have a quick look at a few most essential libraries and tips that make your day-to-day app development effective and easy.
SwiftUI helps you build great-looking apps across all Apple platforms with the power of Swift — and as little code as possible. With SwiftUI, you can bring even better experiences to all users, on any Apple device, using just one set of tools and APIs.
A framework that provides a declarative Swift API for processing values over time. These values can represent many kinds of asynchronous events.
A lightweight dependency injection framework for Swift that reduces the boilerplate of doing manual dependency injection in your project.
A tool to enforce Swift style and conventions, loosely based on the now archived GitHub Swift Style Guide. It enforces the style guide rules that are generally accepted by the Swift community.
Handle complex SwiftUI navigation very easily and reliably with UIPilot.
The better approach for data persistence also works as a lightweight, Swift-friendly wrapper over the C API.
A swift-based, HTTP networking library to simplify common networking tasks. Its features include chainable request/response methods, JSON and Codable decoding, authentication, and more.
A powerful, pure-Swift library for downloading and caching images from the web in Swift. SwiftUI provides its own AsyncImage view that asynchronously loads and displays an image from API.
Do better logging using CocoaLumberjack which is a fast & simple, yet powerful & flexible logging framework for macOS, iOS, tvOS, and watchOS.
To be able to keep shipping the app while features are still in development, use feature flags. Feature flags will allow teams to have multiple variants of the app that can be managed by just a few flags and will save you from having GIT branch hell.
The perfect solution for all the drawbacks of MVP and MVC, which makes code testable, more decoupled, and easy to maintain which is a widely used design pattern for architecting software applications. MVVM architecture also plays very nicely with SwiftUI.
Faster build, reduced boilerplate code, smaller and maintainable modules, fewer circular dependencies, easier navigation, separation of responsibility, and many more benefits…
An interface to the user’s default database, where you store key-value pairs persistently across launches of your app where the value data could be String, Integer, Boolean, or any type of Object.
A simple wrapper for the iOS / tvOS Keychain to allow you to use it similarly to User Defaults. Written in Swift which provides a singleton instance that is set up to work for most needs.
You can either go for a built-in option like the Xcode 12 coverage tool, or you can pick a free library like Slather, which will generate test coverage reports for Xcode projects and hook them into your CI.
You already know the importance of writing unit tests. You can use the XCTest or Nimble library to write tests easily. Also, use dependency injection if not already to allow using mock/stub classes during tests.
A native iOS UI automation test framework that combines EarlGrey with XCUITest, Apple’s official UI Testing Framework.
CI/CD is a must tool to make the development process automatic. Automate all manual tasks and then keep pushing builds without recurring efforts!
The lightweight, real-time crash reporting tool makes it easy for you to manage the stability of your app.
User privacy is paramount. To help people trust your app, it’s crucial to be transparent about the privacy-related data and resources you require and how you use them. Check out apple’s official guide on Accessing User Data and Resources.