It’s that time of year again! Apple is hosting their now-usual one-day event, but I’m sure there will be community events popping up all over to complement it. I wish you luck if you’ve applied for a ticket!

The announcement of WWDC always prompts wishlists for enhancements to Apple’s operating systems, and this year I have one feature that I hope Apple has been working on.

I’d love a system-level API that allows developers to categorise their push notifications before, because guideline 4.5.4 isn’t working. Specifically this:

Push Notifications should not be used for promotions or direct marketing purposes unless customers have explicitly opted in to receive them via consent language displayed in your app's UI, and you provide a method in your app for a user to opt out from receiving such messages.

Yes, yes. I know there’s a difference between “should not” and “must not”, but it’s clear that this particular “should not” isn’t pulling its weight from a glance at the lock screen of most people’s phones.

I believe a good first step to solving this problem could be fairly simple, and wouldn’t take teams of people vetting messages. Apple should provide an API to let developers categorise their push notifications. That’s it! That’s the whole idea. 👍

I’m not sure you even need more than two categories, either. Maybe “essential” and “marketing”. Then, add the ability to control pushes for each category in Settings and let the user see how the app has categorised each message as they view it.

Would some apps abuse a system like this and claim everything was an essential notification? Sure they would, but even if they did we’d be no worse off than we are today. I believe most developers would act responsibly, though. The App Store Guideline could become “Push Notifications must be categorised …” and I think it would solve a significant amount of push notification spam.

There’s one final problem¹ with what I’m suggesting. How do you ensure developers don’t just ignore this as they send pushes? I’d give apps a (lengthy) period of adjustment, then set a date and say any uncategorised push after that date won’t get delivered. That should be effective persuasion for people to add the parameter.

I’m probably being horribly optimistic about how well this would work, but if I’m wrong and it needs more than what I proposed here, at least we’d be on the way to a better solution.

Are you going to make me happy in June, Apple? 🤞

¹ Who am I kidding? Apple will have needed to figure out hundreds more problems if they have been working on something along these lines, but I only have a few paragraphs here!

Dave Verwer  





iOS Engineer @ trivago – trivago, a metasearch engine using real-time auction and petabytes of data, enables millions of travelers compare hotel prices from hundreds of booking sites. Based in Düsseldorf, we foster a culture of learning and innovation, embracing flexibility for our talents to shape the travel industry. – On-site (Germany) with some remote work (Anywhere)


If you’d like to see your job featured in iOS Dev Weekly, post it on iOS Dev Jobs and select “Featured listing” as you check out, and it’ll be in next week’s newsletter. 🎉


And finally...

How much did an Apple Music subscription cost in 0024?