Sponsored Link
Add paywalls in one line of code
Take the pain out of configuring and testing your app's paywalls. With RevenueCat Paywalls you can remotely configure and edit your entire paywall view without waiting on App Review. See how it works here.
News
Swift Summer of Code 2023 Summary
What great timing for a 2023 GSoC recap post from Konrad Malawski, Franz Busch, Alex Hoppen, and Pavel Yaskevich, just as submissions are being taken for GSoC projects in Swift for this year. Once you’ve read the stories of Delkhaz Ibrahimi, Ziyang Huang, and Amritpan Kaur, you should check out the 2024 post in the forums.
Tools
JuxtaCode
What an interesting app from Yori Mihalakopoulos. Think of it as a diff/merge tool focused primarily on inspecting a local git repository. It makes doing a job you probably do all the time, answering the question "What changed between these two commits" trivially easy. It's beautifully designed and feels like a very well crafted native Mac app. I really like what I've seen so far.
Code
Xcode Console and Unified Logging
It feels like OSLog has been around for a while now. It debuted in 2020 but maybe wasn't quite ready for most people to adopt back then. It gained functionality every year, though, and with last year's release, now shows up in the Xcode 15 console. Wouldn't it be handy to get a quick recap of where it is now and why you might want to use it? Did Keith Harrison write that blog post this week? Why yes, he did!
Discovering Swift Algorithms package
Majid Jabrayilov begins his post on Apple's swift-algorithms package by saying:
Almost every app I built and supported includes the Swift Algorithms package.
I think this package has a bit of a naming problem. You might have seen the name and thought, "I don't need complex algorithms in my app", but you're much more likely to find a solution for an everyday problem inside. Check the documentation after reading this post.
Should You Enable Swift’s Complete Concurrency Checking?
You may have heard it's a good idea to turn on Swift's "experimental" strict concurrency checking feature now, so you'll not be surprised when Swift 6 breaks all your concurrent code, but Matt Massicotte thinks there's a better reason to give it a try:
I think many people believe you turn on complete checking to get prepared for Swift 6. And, yes, that is true! But, I do not think this is the most compelling reason today.
You turn on complete checking to learn how Swift concurrency actually works.
Whatever the reason for trying it, why not give it a go?
Design
A week on with a VisionPro
I liked this sentence¹ from Joseph Heck. In a world where a distraction could affect what you “click” on, are we doomed to live in a digital Times Square?
web pages in general were a notable challenge -- especially the ones flooded with ads and pop-overs moving around and "catching your eye". The term becoming far more literal and relevant when you accidentally trigger an errant click after some side movement shifted my gaze
I hope not, but it makes me a little fearful of that potential future! 😬
¹ I hope Joe will forgive me for making a minor edit to his sentence so that all the email clients don’t flag this email!
Streaks for Apple Vision Pro
Following on from my comments last week on window sizes in visionOS, I really like the idea of the little windows you can leave in places around your house as you can see in this image of the new visionOS version of the Streaks app from Quentin Zervaas.
Is visionOS going to be a design playground, like the iPhone was when it first debuted?
Jobs
Senior Mobile Software Engineer, iOS (Swift) @ Doximity – We are looking for a talented iOS Software Engineer to join our growing team of developers. We have built and maintain a suite of fully-native iOS and Android apps that healthcare professionals use on a daily basis to increase productivity and provide better patient care. – Remote (within US timezones)
iOS Developer @ KURZ Digital Solutions GmbH – Join KURZ Digital Solutions! Take the lead in developing innovative apps as an iOS developer and explore modern technologies in a dynamic team. Experience a culture of learning and creativity that combines tradition with digital innovation. – Remote (within European timezones) with some on-site work (Germany)
And finally...
I don’t think I could handle that strong gloss effect in 3D! 😂
Comment
Did you see Chris Eidhof's announcement of The SwiftUI Field Guide this week?
At first glance, you might take a quick look and think it's a well-illustrated guide to SwiftUI, but it's so much more than that. It's a fully dynamic and interactive guide to many aspects of the SwiftUI layout system. You'll even find step-by-step animated illustrations of various layout calculations as you progress through the guide.
If you have been paying attention, you'll have noticed that Chris has a bit of a thing for the SwiftUI layout system. As if to prove that point, the underlying system behind the interactive guides is almost an implementation of the SwiftUI layout system for the web. 🫣 I think my first reaction after I learned what he was working on was to ask if he was trying to build SwiftUI for the web. Thankfully, he assured me that was not the plan, but a site like this doesn’t exist without spending the amount of time he has learning and teaching SwiftUI.
His intention is much more pure than that. He wanted to build a guide to SwiftUI, and here's the first public release of it. It's not yet complete, but it's a fantastic start, and I wanted to showcase it in the most prominent place in the newsletter. Right at the start.
Dave Verwer