Sponsored Link
Building chat and struggling with state, push notifications, and more? 🤓💬
Stream's open-source chat and video SDK takes the complexity out of building real-time experiences. 100% free to start, extensible with popular integrations, and scalable!
Code
Issues with ScenePhase and using AppDelegate adaptors
At first glance, this is Jesse Squires talking about exactly what the post title says, but this could equally be a post about API design trade-offs between flexibility and complexity. It appears that the SwiftUI interaction points during the application lifecycle are less granular by design.
Unobtrusive and testable issue reporting
I struggled to figure out the exact purpose of this new library from Brandon Williams and Stephen Celis at first glance until I read this line:
This provides a very visual way to see when an issue has occurred in your application without stopping the app’s execution or interrupting your workflow.
I don’t know if “runtime warnings” are new in Xcode 16 or whether I just haven’t seen them before, but I like this idea.
Using @DebugDescription in Xcode 16
Here’s Aryaman Sharda with a write-up of the new @DebugDescription macro available with Xcode 16. I like that he also kindly includes another method to get similar results for those who can’t yet upgrade to the beta.
Building Swift Executables
The only point I’d add to Natan Rolnik’s post about building command-line tools is that adding a Makefile is a great way to manage build commands and other common scripts you might run. Makefiles may not be the newest technology, but they work very well and can serve as a “menu” to show other developers what they can do with your repository.
Business and Marketing
A Paywall Optimization Success Story
The "Day 5" notification is essential to this paywall's design. I knew this would be the biggest technical and QA challenge, because it is imperative that it be implemented correctly. Failing to deliver on this promise would be catastrophic.
I can see why this style of free trial design works well. It’s early days for Ryan Ashcraft’s implementation of it in his Foodnoms app, but I can see it being successful.
Books
macOS by Tutorials
I’m so happy to see an updated second edition of Sarah Reichelt’s book covering macOS development. It remains a focused, concise book from the perspective of using SwiftUI first but falling back to AppKit where it makes sense. I’m also happy that the story behind the second edition ended so well. 👍
For full disclosure, Sarah sent me a copy of the book for review.
Jobs
Software Engineer for AI Training Data (Swift) @ G2i, Inc. – We are currently seeking Swift Developers for project-specific roles focused on RLHF. This role will play a key part in our reinforcement learning from human feedback (RLHF) initiatives, contributing to cutting-edge projects. – Remote (within US, European, or Asia-Pacific timezones)
Software Engineer, iOS @ amo – Amo values speed, creativity, and high performance. Focused on meaningful social apps, they prioritize creation over consumption and simple, fun experiences. The diverse, skilled team uses a modular monorepo tech stack with Rust, Bazel, and RxSwift, leveraging efficient data processing on GCP. – On-site (France)
Don't forget to post any open positions you have available on iOS Dev Jobs!
Comment
In the last two weeks since my device arrived, I’ve had a blast going through apps in visionOS. Thanks to everyone who sent me a link to your app, too.
I’m no expert yet, but I’ve spent some time thinking about the potential of visionOS as an app platform in the last couple of weeks. The first conclusion I’m ready to draw is that there are two types of apps:
The App Store has plenty of apps that are good to use if you already have the headset on, and I’m quite sure this is due to SwiftUI. The effort of adding one more platform to a multi-platform SwiftUI app isn’t enormous, especially if the app already supports iPad. But with that ease of development comes the downside. Your app already exists on other devices! So, if someone needs your app, they’ll pick up their iPad or phone (which they are probably already holding) before the Vision Pro.
Whereas if they are already wearing their Vision Pro, having your app on visionOS is a great benefit. I’d much rather open a native app than look through the passthrough cameras to use it on another device. So, the first thing I’d say is it’s definitely worth adding a visionOS version of your app if it’s not too much trouble. 👍
But those apps are not going to make the platform a success. visionOS needs apps that will make you walk up or down a flight of stairs, take your glasses off, and put the headset on for a chance to use them.
The good news is we have several years to make those apps happen, and it’s not solely up to third-party developers either. Apple needs to put plenty of work into clearing the “Compatible Apps” folder out. They also need to ship many more apps that make this device shine. The hardware is more than capable and when it gets it right, it really gets it right!
But until Apple releases those apps, do you have an idea for an app that will make people put their headset on?
Dave Verwer