Sponsored Link
Forget writing testing scripts, use Waldo.
Waldo is the first fully no-code mobile testing solution. Now, anyone on your team can create reliable automated tests and help you fix bugs before your users find them. Try Waldo now, for free.
News
Updates to the Apple Developer app
There are some good improvements to the Developer that shipped this week, ready for this year's conference. With every release, this app feels much more at home on macOS, and the improvements are adding up over time. I especially like the video player improvements in this release.
The prompt to install Russian-made apps during iOS setup for Russian phones is here
I've resisted weighing in on this issue as I didn't have a unique take on it, and you've heard all the arguments before. On the one hand, I'm glad that Apple didn't compromise too much here, and the only action that seems to have been taken is a list of Russian-made apps becoming part of the onboarding screens. On the other hand, I bet this isn't the last we hear of this, and I can see Russia asking for more and other countries asking for the same treatment.
Code
The SwiftUI Experiment
I've been enjoying all of Alex Grebenyuk's posts while building Pulse in SwiftUI. The majority of the post is about the app itself, but it also includes a great retrospective on the good, the bad, and the ugly of implementing an app with SwiftUI today.
recursivelyOutlineSubviews
You're likely not using recursion as a solution every day, but it's always such a great feeling when you find a problem that is a perfect fit for it. I liked this little tip from Jason Pepas.
The @ScaledMetric Property Wrapper
Having your app look good when using dynamic type isn't only about the text itself. How about the spaces between elements, images, and a whole host of other UI might also look better scaled or adjusted. Keith Harrison takes a look.
How to Set Up Core Data and CloudKit When You Haven’t the Faintest Clue What You’re Doing
What a candid blog post title from Becky Hansmeyer! The fact is that whenever we try something new, we have no idea what we're doing! For me, I can still have no idea what I'm doing the third or fourth time I do something. 😬 CloudKit is a notoriously tricky subject, so if you're also considering tackling it for the first time, this post is worth a read.
A better approach to writing a UserDefaults Property Wrapper
Do we need another user defaults library? Maybe! I liked how Jesse Squires approached thinking about whether we needed something new before creating his Foil library.
The hidden cost of @testable
An in-app purchase for a keyword? What the... Oh, wait. Not that kind of cost! 😂 Here's Paul Samuels urging caution on not immediately reaching for @testable
.
Jobs
iOS Software Engineer @ Lose It! – We believe a small team of talented people can do great things. We are purpose-driven, with start-up energy and the stability of a profitable business with plans for the future. Our product-first strategy has helped millions of users live healthier lives. Lose It! offers incredible benefits, flexible hours and a balanced approach to work and life. Feel like the team for you? Let’s talk. – Boston MA
Senior Mobile Software Engineer @ Doximity – Doximity, the medical network used by over 70% of US clinicians, is hiring passionate Senior iOS engineers (remote-friendly!). You'll get to be part of an amazing product team and work on an app that is constantly evolving. Use your skills (Swift, MVVM, FRP) to be an integral part of our newly launched telemedicine feature. Apply today! – Remote within the US
Are you hiring? Get your open iOS development positions listed right here by posting a Featured Listing over at iOS Dev Jobs.
Insiders
You might remember that I announced something extra on top of the newsletter last week. iOS Dev Weekly Insiders. I’m delighted to say it was a successful launch, and I want to thank the 61(!!) people who signed up already. Incredible! ❤️
We had the first Insider call on Monday, which turned into a fun discussion around the App Store and touched on the Mac App Store, side loading and alternate stores as well.
I planned to shout out everyone who signed up all at once, but reading a wall of 60+ names isn’t the best, so I’m going to do five a week until I run out! So, my thanks this week go to Morten Gregersen, Collin Beck, Charletta Bullard, Ethan Huang, and Nikolay Volosatov!
This week’s Insider call is in a few hours and will cover WWDC hopes and predictions, amongst other things. If you’d like to be there, there’s still time to sign up as an Insider.
And finally...
What’s that on your screen? 👀
I’ve been enjoying Neil Sardesai’s tweets for a while now, so if you like the sound of camera-shy windows, games built entirely of windows, windows that replicate, or use physics, games that run in a dock icon, animated dock icons, a Finder face that follows you, or a battery monitor with personality then he’s absolutely worth a follow!
Comment
Even though some countries are making good progress with deploying vaccinations and reducing cases, there was little doubt that this year’s WWDC would be virtual again rather than in-person. So it was no surprise to see the announcement this week of another all-virtual WWDC starting on June 7th. 🚀
Apple is also bringing back the Swift Student Challenge for 2021. You have until April 18th to get your submissions in, so I’d get started now if you’d like to participate!
I already talked about my hopes for this year, so I’m excited to see what the Xcode team has achieved!
So, what should you do in the next few weeks before the event? I liked this advice from Simon Støvring, especially the part about auditing your dependencies. There’s nothing more frustrating than not being able to move forward with new features because you have a dead dependency at the core of your app.
Oh, and if you miss travelling to the conference, maybe you could also make that virtual this year? ✈️
I can’t wait to see what Apple have in store for us!
Dave Verwer