Sponsored Link
Join a FREE iOS Architect Crash Course for a limited time
If you're a mid/senior iOS developer looking to improve both your skills and salary level, join this free online crash course. It’s available only for a limited time, so get it now.
Tools
Utilizing Makefiles for Swift projects
Like Tibor Bödecs, we’re big fans of a Makefile over at the Swift Package Index, as we have 35 tasks defined in ours. 😳 Context sensitive-shortcuts are great, and the possibilities are limitless! 👍
Stress testing on iOS with xcmonkey
As app developers, we often have very set habits and sequences we go through every time we navigate our apps. It’s the same story for our most passionate users (who are most likely to raise a bug). How do you find the bugs a toddler would find by bashing at the screen repeatedly? Alexey Alter-Pesotskiy has a new tool to help you break your app in exciting new ways. 😬
Code
Understanding SwiftUI view lifecycles
If you’ve been using SwiftUI, this probably won’t be a surprise:
When we write SwiftUI code, we construct a view tree that consists of nested view values. Instances of the view tree are ephemeral: SwiftUI constantly destroys and recreates (parts of) the view tree as it processes state changes.
It’s hard to reason about when this happens, though, as it happens seamlessly. Wouldn’t it be interesting to see those changes demonstrated by an app? That’s what Ole Begemann has put together here, and it’s fascinating.
On the new Point-Free swift-dependencies library
Why am I linking to Alejandro Martinez’s articles on the new Point-Free dependencies library over the official announcement post? When someone takes the time to write about someone else’s work, that’s always a great indication that it’s worth checking out. 👍 I wish it happened more often!
Building custom layout in SwiftUI
I’ve enjoyed following along with Majid Jabrayilov’s series on the Layout
protocol recently. He just wrapped it up, so it’s time to make sure no one here missed it! Start with the article covering the basics, then move on to caching, spacing, and the LayoutValueKey
protocol. 👍
Text modifiers in SwiftUI
Remember when creating a formatted string for display was a huge pain? I liked this overview that Natalia Panferova put together with everything we now have that makes this process orders of magnitude easier.
Note: I mean no disrespect to Paul by linking his article with the phrase “huge pain”. 😬 The article is the best overview of attributed strings I could find. It’s the doing of it that was painful.
Adventures in Orienting Views in SwiftUI
Have you noticed anything strange happen to your views when applying rotation to them? Harshil Shah did and investigated solutions. Learn about coordinate spaces in SwiftUI and how you can fix the issue for your own views but may not be able to for ones you don’t control.
Business and Marketing
The Tyranny of the Churn Equation
I was hooked as soon as I read the opening paragraph of David Smith’s latest post:
There is a concept in rocket science called the Rocket Equation, which relates the velocity of your rocket propellant to your payload’s velocity, and (I think) defines the maximum payload a particular rocket fuel could carry into orbit.
I won’t even try and summarise where it goes from there. You won’t regret reading this if you are interested in subscription pricing.
Videos
Videos from BA: Swiftable 2022
It’s always a good sign that you’ll find new perspectives when you read through a list of conference speakers and don’t recognise many names. That’s exactly what happened when I browsed this playlist from last month’s BA: Swiftable conference in Buenos Aires. It looks like it was a fantastic event. 👍
Jobs
Senior Swift (iOS) Developer @ Nord Security – iOS developer has an essential role in growing the NordPass product and a lot of freedom to make an impact. There is plenty of space for experiments and constant improvement. You would be a part of a very ambitious and enthusiastic team which gives a lot of support and encouragement every day. – Remote (within European timezones)
Senior iOS Engineer @ Doximity – Doximity, the medical network used by over 80% of US clinicians, is hiring passionate iOS engineers (fully remote!). Come be part of an amazing product team + work on an app that is constantly evolving. Use your skills (Swift, TCA, Combine) to be an integral part of our growing telemed feature. – Remote (within US timezones)
Freelance Interview Engineer (US Only) @ Karat – We're dedicated to improving access in tech. If you are too, join us as a Karat Interview Engineer. As such, you'll conduct technical interviews of developers like you on behalf of our hiring clients (including Duolingo, Indeed, and more) using the Karat Platform and its data-tested questions. – Remote (within US timezones)
And finally...
“But why can’t we call the new Apple Music AI-powered recommendations EarGenius?”
“Well, let me show you.”
Comment
I always try to make what I write in this “comment” section interesting enough to be worth your time without being controversial. I made a mistake last week, and what I intended to be a positive spin on what is happening in our community, unfortunately, made many people angry.
There were two problems. My description of Elon Musk offended many people, and others were upset because they saw the entire comment as an attempt to politicise this newsletter. That was not my intention, and I am sorry if it came across that way.
I know that most of you who did not hit reply to last week’s issue were probably not offended by what I said. Still, the strength of the abuse and angry responses I received made me seriously consider whether I want to keep writing a “comment” section in this newsletter. I certainly need to take a break from them to consider it.
I’m not looking for sympathy by saying this. I almost sent this without a comment, but I wanted to explain why, at least in the short term, this section of the newsletter will be shorter or missing entirely, and it will focus on links, just like it did when it started.
Dave Verwer