Sponsored Link
Mobile testing made easy
Developers deserve to ship releases with confidence. Waldo helps teams like Rocket Money provide bug free experiences to their iOS users. Learn more!
News
The Billions-Dollar VR/AR Headset Question
I’ve deliberately not echoed my words from last year, where I predicted that 2022 was not the year for any AR/VR announcements from Apple, as the predictions of an imminent announcement have risen to a deafening roar. I still struggle to see what kind of product makes sense, though, and I found myself nodding along with every word that John Gruber writes in his well-thought-out post from yesterday.
I can’t wait to see whatever Apple has been developing, no matter its form. If an announcement is imminent, all I know is that it will make more sense than it currently does in my head.
Tools
Save money when using GitHub Actions for iOS CI/CD
There are some good tips in this post from Marco Eidinger for keeping costs down when running GitHub Actions on private repositories, but the one I was surprised to see missing was using a self-hosted runner.
If you have a Mac mini or an old laptop looking for something to do, letting it host a GitHub Actions runner can put it to great use. You also get to control what operating system it runs, which is by far the biggest problem with GitHub Actions when working with Swift projects.
Accessing command-line tools from XCTest
This testing technique from Alexey Alter-Pesotskiy is clever, but I’d want to be cautious with making too many parts of a test suite rely on it. It will help you add tests that exercise simctl
and other tools that need to be broken out of the sandbox, though.
Code
Modern SwiftUI
What a fantastic set of blog posts from Stephen Celis and Brandon Williams. They have made many fantastic contributions to this community with their recent SwiftUI libraries, like dependencies and identified-collections. They are now following up with a five-part blog post discussing modern SwiftUI techniques helped along by many of their libraries.
I’ve not checked out the video series that accompanies this post, but I hear so many regular recommendations of their videos that I have no hesitation in recommending it.
Using JavaScript in a Swift app
Let’s celebrate diversity of programming languages rather than being fussy about striving for some kind of purity in our codebases.
It makes me so happy when I see someone else advocate for us to look outside of the Swift community to take advantage of the lessons, techniques, and billions of hours of open-source work written by people in languages other than Swift and Objective-C.
The Nested Observables Problem in SwiftUI
I remember being baffled when I first encountered this problem with a SwiftUI view and nested observable objects. It seems like it should be so simple, but it turns out to be tricky to solve. Leonardo Pugliese has a few different methods to help you if you’re facing this problem.
Speed up SwiftUI testing with PreviewSnapshots
Can you leverage your SwiftUI previews into snapshot tests? John Flanagan writes about his new swiftui-preview-snapshots library that shares your SwiftUI preview configurations with swift-snapshot-testing. Nice idea.
Disconnect your app from unit testing
Talking of testing, Junda Ong asks us to consider whether we really need to launch our apps to run tests.
Customize ShareLink appearance with view modifiers
Let’s finish this week’s code links with a quick tip from Natalia Panferovaon how to change the appearance of a ShareLink
.
Videos
Lottie 4
I linked to the major new release of Lottie a few weeks ago, but if you’ve not used it before, then maybe a tutorial might be helpful. I really enjoyed the pace of this video from Stewart Lynch.
Jobs
Senior iOS Native Engineer @ MartianCraft – MartianCraft has been making Mac and later iOS software for discerning clients for nearly two decades. Our team of in house engineers and designers is second to none. As a full-time remote company for more than a decade we understand the needs, requirements, and pitfalls of working remotely. – Remote (within US timezones)
iOS Engineer @ Major League Baseball – Launched in 2001 as the tech arm of Major League Baseball, MLBAM is renown for creating mobile experiences that baseball fans love - and we are just getting started! – On-site (United States in CO or NY) with some remote work (within US timezones)
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)
The number of jobs on iOS Dev Jobs is rising again after the holiday lull, but there must be more companies looking to hire for 2023. Did you know you can post Swift positions for free over there?
And finally...
It’s been a while since the 30th anniversary back in 2014, but this set of extracted icons is brand new and brand beautiful. 😍
Comment
If you use SwiftUI and only have time to read one link in this week’s issue, make it this one. It’s rare to find such a comprehensive set of blog posts and associated libraries. Don’t miss it.
Happy Friday, and enjoy this week’s links!
Dave Verwer