Sponsored Link
In-app purchase updates from WWDC
The RevenueCat team poured over the announcements, sessions, and documentation to understand the updates coming to in-app purchases and StoreKit so you don't have to. Check out their blog post or recap video for the details.
News
GitHub Dependency Graph, Dependabot Alerts, and Advisory Database now support Swift advisories
If you have worked with other languages, you’ve likely come across Dependabot before, and as of this week, it supports Swift! The basic idea is that if any Swift package has an advisory in the GitHub Advisory Database and you use it, it’ll let you know in your GitHub dependency graph.
We also have great success keeping dependencies up to date with Marco Eidinger’s package dependency check GitHub Action, which opens a PR with package updates every Monday morning. You can even see how we use it if you want an example!
Tools
Outdated
No, not this newsletter! Instead, this is a smart little tool from Kilian Koeltzsch for checking not whether your dependencies need to be updated but whether your dependency pinning options mean you are missing out on new major versions of a package you use! That’s useful. 👍
Code
MVC Isn’t MVC
One thing I dislike about architecture blog posts is that they sometimes attempt to come to a conclusion. This post from Collin Donnell is the exact opposite of that. It felt like a gentle discussion and history lesson on MVC and was a pleasure to read. If you want to take a break from the visionOS firehose, start here.
Be careful not to neglect Voice Control
It’s rare that a SwiftUI view modifier manages to sneak past Paul Hudson, so when he writes about missing one, there’s a good chance you may have missed it too. In this case, it’s the accessibilityInputLabels
modifier, and even if you’re getting everything else right with accessibility, you might still be making an app which could be difficult to use by people using VoiceOver.
Notable UIKit Additions in iOS 17
With visionOS being so dependent on SwiftUI, you might have missed that there were also a good number of UIKit improvements this year. Who better to give us a quick rundown of them than Jordan Morgan? He ends the article on a slightly melancholy note, but I think there’s more life left in it than you think, Jordan! 🌱
The debut of ButtonRepeatBehavior
When I first read the title of this post from Gabriel Theodoropoulos, I was a little confused. Button repeater? A loop of buttons in a horizontal stack? No, it’s not the buttons themselves that repeat, but the behaviour when someone taps and holds a button down! Doesn’t that make much more sense? Yes. Yes, it does. đź§
Design
Human Interface Guidelines
The current HIG is the best-designed documentation I can think of. It’s beautiful, but this “new” layout makes it so easy to find what you are looking for. It has always been a fantastic resource, but it’s true now more than ever. Why am I linking to it yet again? Because it now has extensive guidance on visionOS! That’s why!
Jobs
iPad Software Engineer @ Liquid Instruments – Liquid Instruments is a startup creating a range of modern test and measurement devices using reconfigurable FPGA hardware. We're looking for someone to help develop the beautiful iPad user interface that drives it all. – On-site (Australia)
Senior iOS Developer @ komoot – You’ll team up with four world class iOS engineers and take over full responsibility for our iOS app. You’ll develop diverse features for navigation, routing, social interaction and content visualisation that will make your work challenging and fun. – Remote (within European timezones)
Hiring? iOS Dev Jobs will list open Swift positions for free! Please feel free to post your open positions.
And finally...
Fix the 2D tree sprites, and I’m all in!
Comment
If you have been watching social media since the launch of Xcode 15 beta 2 with the first public beta of the visionOS SDK, you’ll have seen a bit of a rollercoaster reaction from the community.
Spatial computing in visionOS is quite different from what everyone expected from the last few years of watching ARKit develop. While bringing iPad apps and all the lessons we have learned from building them straight into the device is a massive boost for the platform, I think many people were also expecting to be able to create more than “windows in 3D space”.
I know nothing of Apple’s plans, but I’m 100% confident that what they are showing us here is a small step towards what they want visionOS to mature into. This version of visionOS runs on a headset that you’ll probably never wear outside. It’s also the visionOS that’s not only a brand new platform but a whole new environment to run apps in, and one which is unlike anything most people have developed for.
That said, it’s telling that even some things that felt like Apple was lining up for visionOS are not part of what the Vision Pro can do. In my last comment before the keynote, I suggested that first-party apps might get more freedom with sensors and the screen than third-party ones would, but I think this is Apple being measured with everything they ship to let people get used to this new type of product. I’m confident that as the hardware develops and becomes more practical to wear for long periods and in environments outside the home, office, or an airline seat, we’ll also see massive changes in software, taking the software beyond what is possible today. I’m also confident many of those features already exist in some prototype form inside Apple Park.
Putting any computer-generated visuals in front of “reality”, whether that reality is viewed through that glass of some spectacles or via cameras in a ski-mask-type device, hasn’t hit the mainstream¹ until now. I won’t speculate on why Apple decided that this feature set was the release feature set, but I’d imagine it relates to their ability to ship something stable, power-efficient, and safe².
I’d also argue that visionOS, as presented in the keynote, session videos, and now through the beta SDK is a bold step. It’s just another case of Apple taking our expectations and doing something different.
Dave Verwer¹ Both Google Glass and HoloLens found other more specialised uses in the industry, but they probably won’t be consumer devices any time soon. You may also question whether a $3,500+ device can be called mainstream, and you’d have a point, but it’s clear from how Apple pitched it that Apple intends it to be.
² I am sure Apple worries about rushing into largely unknown areas like how distracting AR will be when navigating the real world, and also the potential mental health issues caused by constantly seeing things that do not exist.