Sponsored Link
Debugging Your Way to App Store Success With Instabug
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.
News
Appleās use of Swift and SwiftUI in iOS 17
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.
Tools
Apparency
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. š
Introducing Insights
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.
Code
Being a good citizen in the land of SwiftSyntax
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.
SwiftSyntax Code Generation Notes
Talking of SwiftSyntax, PĆ”draig Ć CinnĆ©ide also has some more good advice on taming it.
Switching Build Systems, Seamlessly
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. š
Mastering Preview macro in Swift
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.
Jobs
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. š
And finally...
"I made a game" š±
Comment
During the 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