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 710

2nd May 2025

Written by Dave Verwer

Comment

Was there any news yesterday? 😂

I won’t talk about the decision, the commentary around it, or Apple’s statement where it says it will appeal the judgement but comply¹ in the meantime. I’m sure you’ve read every hot take over the past 24 hours and I have very little² to add about the news itself.

What I’m sure of, though, is that this decision will trigger a more significant change to the App Store. Apple built its App Store business around its current business model, and if developers can bypass it without much jumping through hoops, Apple will likely make changes. I only hope it tries to find a simple, global solution with any major changes rather than digging in further with its current approach.

Apple has lost enormous goodwill with developers in this area that will be difficult to regain, and commentary around this subject has rightly been extremely critical of Apple. I feel I’ve been clear on my views in my previous writing, and if you’re a regular reader you’ll be aware of my frustration with how the company has focused on carving out specific exceptions after every ruling, creating a more complex and messy environment that developers need to work in.

It’s obvious that as the App Store grew to become a significant revenue source for Apple, the company naturally grew protective of that revenue, but as developers, we also shouldn’t wish for them to give up that revenue entirely. We should want the App Store to be successful for Apple as well as for ourselves. A future where Apple reduces its interest or focus on the App Store and the technologies that allow us to make apps doesn’t work out that well for us either.

I have no clue what that solution looks like, though. I hope Apple does!

Dave Verwer


¹ Since writing this yesterday, Apple has made a change to the App Store Review Guidelines amending or adding to points 3.1.1 and 3.1.3 to allow buttons and links to external destinations and allowing you to encourage alternate payment methods in the United States storefront only. This follows their existing strategy of carving out more country-specific exceptions, which is what I hoped they wouldn’t do above. Yesterday’s ruling had immediate effect and they very likely had this planned and pre-written in anticipation of this decision. It makes sense that they would do this as a first step, but I am still hopeful that there is a bigger re-think in the works. Call me an optimist! 😬

² The only thing I’ll say is that by far the most important part of this is that Apple will no longer be able to collect a 27% commission from purchases made outside the App Store, making external payments viable for the first time.

Build monetization that works - without hurting your user experience

Monetization shouldn’t come at the cost of user experience. Learn how Wizz used ContextSDK to increase LTV while reducing annoying pop-ups - now also supporting context-aware push notifications. Read the case study.

Tools

Format long parameter lists into separate lines in Xcode

This quick tip from Natalia Panferova is a useful one if you like to have long function calls split over multiple lines.

Code

What’s new in Swift 6.1?

If you’ve not caught up with the changes that arrived with Swift 6.1 yet, Paul Hudson is here to help. He covers changes to keypaths, improvements in Swift Testing, better control of compiler warnings, and, of course, more updates and improvements to Swift concurrency.


Enforce Your Architecture in Swift with Harmonize

Harmonize is an interesting new library that lets you write linting-style rules as unit tests. Do you want to make sure all your view models inherit from a common base class? Or maybe you never want to forget a [weak self] in a closure again. You’ll want to check out this write-up on how to use it by Stelios Frantzeskakis.


Unlocking the Power of Swift 6’s Typed Throws

Have you been experimenting with Swift 6’s new typed throws functionality and found your error handling code getting out of control? Cihat Gündüz aims to help you out with his new package, ErrorKit. It introduces a couple of new protocols that aim make your error handling code the envy of your peers!

Business and Marketing

Applying to, prepping for, and speaking at Deep Dish Swift

I really wasn’t sure what category to put Jacob Rakidzich’s latest post into, but it’s about a type of marketing: marketing yourself! If you have ever wanted to speak at a conference but talked yourself out of it, read Jacob’s post, find a conference with a CFP, and apply. This is a really great write-up of the whole process.

And finally...

How a single line of code could brick your iPhone 😱

Don’t worry, the bug is fixed and the fix has been released for many months. However, I couldn’t miss the opportunity to link to the very detailed write-up!