Meet Push Notifications Console session at this year’s WWDC, you may have seen that Apple added logging functionality to the Notifications dashboard in your developer account.
This feature is huge if your app sends pushes, and what app doesn’t these days? For a long time, push notifications were very much something you posted into the void with your fingers crossed that they would end up pinging a device somewhere. It feels like delivery rates are much better than they used to be when they first launched, but it’s just that, a feeling based on anecdotal data.
It’s now possible to figure out what’s happening with notification delivery. Store the new apns-unique-id
identifier that comes back with the payload from sending a notification, and use the new Delivery Log to investigate what happened during delivery.
That’s incredibly useful for individual messages but not so much for overall statistics. The good news is that the other half of the story arrived this week with the addition of aggregated metrics. You can now see a breakdown of delivery by notification type (alerts, complication updates, live activities, etc.) and see how many messages APNS delivered, stored for later, or discarded, along with information about why they ended in that state. It’s handy information, and you should give it a look for your apps!
We’ve come a long way from how notifications launched in iOS 3!
Dave Verwer
Capture app reviews automatically, replay review sessions, and compare ratings across releases. Instabug automatically identifies sessions linked to app reviews, allowing you to seamlessly debug them using session replay. Unlock your app excellence and delight your users with Instabug’s all-in-one platform. Learn More.
It’s that time of year again! Alexandre Colucci’s annual look at Swift and SwiftUI adoption inside this year’s iOS release. I’ll let you review all the stats by reading the post, but it’s worth calling out that exponential curve for SwiftUI adoption. Look at it go!🚀
That said, for anyone thinking that Objective-C is going anywhere any time soon, the fact that 61% of binaries in this release still depend on it tells a story.
I’ve had this installed for a while now, but I didn’t link to it yet for some reason, so when I saw this post from Craig Hockenberry, it was a good reminder to fix that oversight. It’s a great little app, and you’ll probably find it useful. 👍
Reveal has some big news for their app and a significant step forward for proactive accessibility testing. I think the key point from their announcement is this:
This new functionality takes Reveal from a passive developer tool, where you need to know what to look for in order to identify issues, to one that proactively surfaces problems along with suggestions on how to fix them.
It’s also worth watching Tony Arnold & Chris Kolbu at the /dev/world/23
conference to see it in action. I also love how the app accompanies every recommendation with references to the WCAG or Apple’s HIG.
For full disclosure, Itty Bitty Apps, the creators of Reveal, have previously sponsored this newsletter.
If you use Swift 5.9’s macros, you’ll want to read this post from Brandon Williams and Stephen Celis. It all started with a forum post, which provides some interesting background.
There’s a bundled version of the library, but it’s undocumented, so you probably shouldn’t rely on it. I’m nowhere near qualified to comment on the pros and cons of bundling an official/supported version, but I’m sure the Swift team have discussed it. Until then, this advice on managing the SwiftSyntax dependency is worth reading.
Talking of SwiftSyntax, Pádraig Ó Cinnéide also has some more good advice on taming it.
Before you read this post from Patrick Balestra, it’s worth remembering that when you get to the end, and that little thought pops into your head, “Hey, maybe I should do this!” there’s a 99.9% chance you don’t need to and shouldn’t. 😂 It’s still interesting to read about, though. 👍
Sure, you can put a single #Preview
under your view code and be done with it, but did you see what else you can do with that macro? Majid Jabrayilov is here to show us.
Mobile DevRel Engineer @ Embrace – Embrace helps mobile engineers build better experiences. We’re building a mobile developer community. Our goal is to win the trust of mobile developers and builders by meeting them where they are and by providing the right technical education, tools, and resources to enable their success. – Remote (within US timezones) or on-site (United States in CA)
Senior iOS Developer @ Linearity GmbH – We’re an award-winning design software suite that simplifies the asset creation process. Linearity Curve creates precision vector assets & Linearity Move is an animation software that crafts breathtaking animations in seconds. We’re crafting together a new iOS team, reach out if you’re Interested! – Remote (within European timezones)
Are there any open positions on your team? Post them for free over on iOS Dev Jobs. 👍
“I made a game” 😱