Sponsored Link
Black Friday Exclusive — Become a Complete Senior iOS Developer with the iOS Lead Essentials
This Black Friday, unlock over 40 hours of expert training, mentorship, and community support to secure your place among the best devs. Click for early access to this limited offer.
News
The visionOS 2.2 Ultrawide Display
Is this the feature you’ve been waiting for to invest in a Vision Pro? You’ll never get a monitor this big on your desk!
New Broadcast Push Notification Metrics in the Push Notifications Console
Apple’s Push Notifications Console was already a great resource, and it continues to get better. Now you can send thousands of notifications with a single call and know if they were received. 👍
Code
SwiftUI Self-Sizing Flow Layouts
What a great article from Keith Harrison on self-sizing flow layouts. I can hear you asking, “What’s a self-sizing flow layout?” Think about a grid that sizes and adjusts its layout as its content grows. For example, if each cell had dynamic type in it and you wanted to grow the cells rather than clip.
Exploring Apple Intelligence's Writing Tools
Did you know you can control how users interact with iOS 18.1’s new Writing Tools inside your app? Antonella Giugliano and Matteo Altobello are here to explain what options you have in both SwiftUI and UIKit. It might be worth a quick run-through of your app to see if they behave as you expect in each of your text fields after reading this.
A Complete Guide to Implementing Live Activities
It’s been a couple of years since Apple added Live Activities to iOS, but they’re still quite rare to see in apps. Part of that is that they only suit certain types of apps, but is the other part that people don't know exactly how to implement them? Radhika Saliya has a great guide on getting one up and running.
Design
Oh no, I need to design a tinted app icon
Complex icons simply don’t translate easily into tinted icons.
The article is a great look at the compromises that you might need to make to ship a great looking tintable app icon with your app.
Jobs
Staff Software Engineer - iOS @ NewStore – Join NewStore and be part of a forward-thinking team dedicated to crafting exceptional mobile experiences. We embrace TDD, pairing, and best engineering principles, fostering an environment where you can lead, inspire, and help shape the future of our iOS engineering culture. – Remote (within European timezones) with some on-site work (Germany, Netherlands, or United Kingdom)
Senior iOS Developer @ komoot – You’ll team up with six world-class iOS engineers, take over full responsibility for our iOS app, and develop diverse features for navigation, routing, social interaction, and content visualization that will make your work challenging and fun. – Remote (within European timezones)
Is your company hiring? You can advertise open Swift and Apple platform positions for free over on iOS Dev Jobs. No catch. Really, for free.
And finally...
What does %CPU mean, anyway?
Comment
The recent survey I did reminded me that, when you work with Swift every day, it can be easy to see only its complexities.
A friend took delivery of one of the new M4 Mac mini machines this week, and I was curious how its performance would stack up against my 2021 M1 Max MacBook. I thought that building the Swift Package Index source code would be a reasonable real-world test. At least that's my real world! He's not a developer, though, so he wouldn't have Xcode or other developer tools immediately available.
It made me think about the bare minimum amount of software that is necessary to get a Swift project up and running. The instructions I needed were so simple: install Xcode from the App Store, paste a git checkout command into a terminal, open the package manifest, and build. That's quite remarkable, especially when you compare it to other software development environments¹.
It gets better if you want to do more than a speed test, too. Have someone download and install Swift Playgrounds and they'll be writing Swift within minutes. You won't need to know about Swift concurrency, generics, macros, or any other advanced language features. Upgrade that environment to Xcode and look at some SwiftUI code. It's clear and readable.
Anyway, I thought I'd remind you all, as I reminded myself, that it could all be so much worse. It reminded me to take a more optimistic view of things, and I thought that was worth sharing.
Oh, and if you're interested, the result of the speed testing was that the base spec of the M4 machine was about 30-35% faster than my M1 Max. Did I manage to keep my optimistic mood when I discovered that? Only just! 😂
¹ The only other environment I could think of that's this simple to set up would be C# development on Windows. The advantage in both cases is, of course, being the operating system vendor, but it's still impressive.
Dave Verwer