SwiftUI Weekly - Issue #117
The curated collection of links about SwiftUI. Delivered every Monday.
iOS 16 was just released so let’s analyze its built-in apps. Like in the past years, I will try to answer a couple of questions: How many binaries are in iOS 16? Which programming languages are used to develop these apps? How many apps are written with Swift? What is the percentage of apps using SwiftUI versus UIKit?
SwiftUI provides us with a brand new data-driven navigation API allowing us to map a value to a destination in the view hierarchy. This week I want to continue the story of the new navigation API in SwiftUI by covering another tool. We will learn how to use the NavigationPath type to build a navigation stack with different destinations.
Learn how to add and remove a badge on Tab Bars.
If you call SwiftUI’s
modifier inside a view’s
property, the async operation will run on the main actor. However, this isn’t the case if you call
from a helper property or function that isn’t main-actor-annotated. Why?
Adding overlays to a view that only render above the view's own pixels.
Learn how to use SceneStorage in SwiftUI to restore iOS app state.
We celebrate the release of the Composable Architecture's new reducer protocol and dependency management system by showing how they improve the case studies and demos that come with the library, as well as a larger more real-world application.
Calm's iOS engineers once side-eyed and sidestepped a mounting list of Apple Watch app bugs. But a scrappy hackathon team sparked new hope: why not try to rewrite it in SwiftUI? In this talk, I'll delineate how my teammates and I reimagined Calm's Apple Watch app in SwiftUI.
After a brief overview of how SwiftUI's new NavigationStack API works, we'll explore how to build a router that can transform nebulous URLs into a state.