Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 702

7th March 2025

Written by Dave Verwer

Comment

If you haven’t already, make sure you read Sarah Perez’s coverage of Apple’s recent “Helping Protect Kids Online” white paper. Sarah goes through the entire announcement, but the most interesting part to me was a new Declared Age Range API.

From the PDF:

Through this new feature, parents can allow their kids to share the age range associated with their Child Accounts with app developers. If they do, developers will be able to utilize a Declared Age Range API to request this information, which can serve as an additional resource to provide age-appropriate content for their users.

This is a huge step forward for privacy-focused child safety, meaning Apple can be responsible for the “proof” of age, rather than leaving it to each third-party developer. But where does that “proof” come from?

Apple spends a whole page of the PDF answering that question and explaining why they chose to collect no “proof” at all. Each child’s age range is set manually by whoever controls their device’s parental controls. That means parents stay in control and can trust that apps using this API are gathering nothing from their kids other than their verified age range.

Of course, widespread success relies on developers opting in, and I hope Apple highlights the adoption of this API in every App Store listing. Could they make it mandatory for apps in the Kids category? It’s possible, but they do mention that apps will still be allowed to collect more proof of age where necessary, so it won’t be locked down as the only age verification method.

According to Sarah’s article, this feature will be released in stages, with some parts shipping in iOS 18.4, and the developer API coming “later this year”. I’ll be happy to hear more about it at WWDC.

Dave Verwer

Developers rely on Superwall to grow revenue

Join some of the App Store’s biggest apps, from big brands like Mojo and Citizen, to thriving indies. Test pricing, run paywall experiments, update locked features, and more—all without app updates. Plus, enjoy free revenue tracking and analytics. Superwall is your complete growth toolkit.

News

iOS Versions Market Share in 2025

I haven’t included an iOS market share report this year, so let’s fix that today! iOS 18 is now installed on about 80% of devices, and if you support 17 and 18, you’ll cover 90% of in-use devices. Thanks to TelemetryDeck for maintaining these reports, they’re super useful. They also have a minor point release chart if you’re considering requiring a specific point version.

Code

Designing a custom lazy list in SwiftUI with better performance

The default list or lazy stack controls in SwiftUI will meet most needs without too many problems, but what if it runs out of performance and you need something custom? Matthaus Woolard has a solution that prioritises performance while remaining completely within the SwiftUI framework.


SwiftUI Performance - Selectively using UIKit

While it’s great to stay all in on SwiftUI, there are other solutions to the same problem. In this article, Majid Jabrayilov tackles the same issue but chooses to use cell reuse of a collection view while retaining the ease of development that SwiftUI gives when it comes to the collection view cells.


SwiftUI Phase Animation “Bug”

Chris Eidhof:

I noticed that phase animators weren’t behaving as expected, and I initially assumed I’d found a bug in SwiftUI. It took me way too long to realize the problem here, that’s why I am writing this up. Spoiler alert: there is no bug .

It turns out that there were a couple of things going on. This is worth a read.


Customizing and Animating SF Symbols in SwiftUI

I thought I knew everything about using SF Symbols until I read Gabriel Theodoropoulos’ latest post. If you think there’s nothing else to learn, double check by getting to the bottom of this post. ✅

Videos

Spatial Rendering for Apple Vision Pro

I’ve had this repository from Warren Moore in my list of “things to check out” for a while now. Finally, seeing the release of this video made me do it. It’s an hour-long overview of his Swift-based renderer for visionOS, and while the content of his talk went way over my head, I’m sure there are many of you that will get more out of it than I could.

Jobs

Senior iOS Developer - Productivity Team @ komoot GmbH – As a Senior iOS Developer, you’ll be an essential part of our newly established iOS Developer Productivity Team. You’ll work closely with other iOS developers and help them perform at their highest technical level. – Remote (within European timezones)

iOS framework developer @ Nutrient (formerly PSPDFKit) – Design APIs that will affect hundreds of apps, and create UIs used by millions of users. Collaborate globally in a small team working on the leading document SDK for iOS, macOS and visionOS. Make the most of a flexible schedule, and attend annual retreats at exciting places around the world. – Remote (Anywhere)

iOS Engineer @ Bevel – We’re building at the forefront of consumer health. We are a small team that deeply cares about our craft. You’ll get a chance to work on something that improves the health of tens of thousands of people! – On-site (United States in NY)

Senior iOS Engineer @ Distilled – We are seeking to recruit a Senior iOS Engineer to work on some of Ireland’s most popular mobile applications, Daft.ie. DoneDeal.ie & Adverts.ie – Remote (within European timezones) or on-site (Ireland)

And finally...

How do you build a WoeMeter? 📺