split 40-60 between paid and free (ad-supported). That means Spotify likely has roughly 100 million free users on iOS — and Spotify pays Apple nothing.
If any of these companies, with hundreds of millions of EU users, opts in to the new EU rules (and thus opts out of the existing App Store rules), they’ll be on the hook to pay Apple hundreds of millions of dollars (well, euros — but they’re roughly 1:1) per year.
At first glance, this sounds like the “re-thinking” of the App Store I wished for back in Issue 544. Except it isn’t. 😬 The opt-in nature of Apple’s proposed changes will mean none of those huge companies that distribute free apps would ever choose to sabotage themselves by choosing the new deal, effectively cementing that part of the original App Store structure forever. I’m not terribly surprised that what I was suggesting wasn’t possible, as applying a new mandatory fee structure on large companies that have been paying nothing would have been incredibly challenging, and also invited yet more scrutiny on Apple.
I didn’t see any speculation about a two-tier system before this announcement, but it makes sense for Apple, who is presumably happy with how it all worked before these changes and, I believe, would be happiest if everyone stuck with the original App Store financial structure.
It’s going to be hard for anyone except a small number of billion-dollar companies to adopt these terms, so I think I’m done talking about it. I didn’t expect it would be for smaller developers, but this is not a scheme for anyone reading this newsletter to get involved with. The risks of the CTF are too significant. We should leave the huge companies and governments alone to fight with each other over this.
I tried several times to write more on this subject this week, but it all feels a little pointless. Anything that you or I can say makes no difference at all. All I’ll say is that I don’t feel good about any of the involved parties right now. What a messy situation.
Dave Verwer
Bouncing back and forth between tools, chasing down marketing for copy and stakeholders for sign-offs, clicking around gingerly in App Store Connect… productivity, happiness, and general sanity suffer. Learn what makes mobile releases a silent killer and how Runway can help.
It will take you more than an hour to fully read Steven Sinofsky’s musings on the history of tech regulation and the DMA, but it’s worth your time. He has been there and done it all during his time at Microsoft. It’s impossible to summarise his 18,000-word article in one paragraph, but I found myself nodding along as he admires what Apple made in the App Store and how regulation hurts it. He echoes a lot of what I’ve written on the subject.
I mentioned back in November that the Swift website now has a “Community Showcase” page full of community-written packages. The data comes from the Swift Package Index, but ideally, the nominations will come from the community and unfortunately, they have slowed already! I’d hate for this page to get abandoned, but it needs community input to be successful. The only restriction for nominating a package is that you need to nominate someone else’s packages rather than your own, but that allows you an opportunity to make someone’s day, and that can’t be a bad thing, can it?
Here’s what I wanted to focus on this week instead of App Store policy changes and regulations. It’s day one of the visionOS App Store, and Donovan Hutchinson has written a post with all the visionOS apps he can find. Is your app missing? There’s a Google document with more than 230 apps listed. Apple also did some more app promotion this week with their feature on Blackbox coming to visionOS ❤️ and this round-up of their “developer story” posts.
Did you know about the “Debug Visualizations” menu in the visionOS simulator that can show you wireframes and markers for bounding boxes, surfaces, and objects your UI can collide with? I didn’t either, but Giovanni Monaco did, and he has written it all up here for us in this well-illustrated post.
We are terribly guilty of relying on lowercased
in the Swift Package Index source code. We should learn from Natalia Panferova and use Swift’s string comparison methods instead.
As I read this post, I had fond memories of the old QuickTime “Pro” badges in the old QuickTime 7 Player macOS menus. It was a good way to show what features would unlock with the paid upgrade, and this post from David Sorel shows you how to do something similar using a new API that came with macOS Sonoma. 🎉
No matter how the adoption of SwiftPM continues, CocoaPods was so prevalent during its heyday that it’ll be around in projects for a very long time. Does that mean you can’t leverage Swift features like macros because they depend on SwiftPM features? It does not, as Soumya Mahunt explains here.
I’d be fascinated to hear if you still use CocoaPods or another dependency management solution, so I made a short survey.
Dance like no one is watching, sing like no one is listening, love like you’ve never been hurt, and price your apps like an EU regulator isn’t watching every move you make. 😂 Thanks to Jordan Morgan for writing this up. I think this applies to lots of you who might be reading this.
Senior Mobile Software Engineer, iOS (Swift) @ Doximity – We are looking for a talented iOS Software Engineer to join our growing team of developers. We have built and maintain a suite of fully-native iOS and Android apps that healthcare professionals use on a daily basis to increase productivity and provide better patient care. – Remote (within US timezones)
iOS Developer @ KURZ Digital Solutions GmbH – Join KURZ Digital Solutions! Take the lead in developing innovative apps as an iOS developer and explore modern technologies in a dynamic team. Experience a culture of learning and creativity that combines tradition with digital innovation. – Remote (within European timezones) with some on-site work (Germany)
Are you hiring? Post open Swift and Apple platform positions for free over at iOS Dev Jobs!
What’s the hottest accessory for the Vision Pro?