UPDATE: I had a couple of people email me thinking that I was suggesting that we shouldn’t use Swift, or SwiftUI, or other new technology. That was absolutely not my intention, so I wrote a few clarification tweets!
Dave Verwer
Crash reporting + Bug reporting + Customizable in-app surveys all in one SDK. Know which line of code caused the crash along with network logs and detailed repro steps, and the session profiler to identify and fix severe crashes 4x faster. There’s a reason why 25,000+ iOS developers rank Instabug as the number one SDK for bug and crash reporting. See more detailed features comparison and try Instabug for free.
I’ve deliberately not written anything about this week’s big story of the US congressional hearing. I have got a draft of some thoughts in progress, but it wasn’t quite in good enough shape for this week. While I didn’t quite agree with some of the opening statements in this post from Aleksandar Vacić, he does make some good points about the guidelines in this post.
This little tip from Sven A. Schmidt (and Ankit Aggarwal) is incredibly useful if you need to run different tasks with older (or non-beta versions of Xcode) and don’t want to do the xcode-select -s
dance. Setting a DEVELOPER_DIR
environment variable switches everything, just like Xcode select does.
This came up during the development of a new feature coming “soon” to the Swift Package Index. I won’t spill the beans just yet, but we’ve been downloading lots of versions of Xcode recently. 😬
SwiftUI grids are not as capable as UIKit collection views in terms of layout, but that doesn’t mean you can’t produce some fabulous custom grid styles with them. I love this idea (and implementation) by Javier Nigro. It’s beautiful.
Like Federico Zanetello, you might have been a little disappointed to see that the list of redaction reasons that accompany the new .redacted
SwiftUI view modifier totals just one. Can you create your own? Of course you can! 🌈
I linked to the announcement of Swift support on AWS Lambda a few weeks ago, but if you haven’t tried it yet, you’ll want to read this post (and this introduction, too) from Fabian Fett.
At first glance, the idea of an in-memory data store for Core Data might seem reasonably useless. It’s a data persistence framework, after all. There are a few uses for it though, but by far the most useful is for unit testing. Donny Wals tells us more.
You’ll find lots of advice on the internet to run pricing experiments with your products (whether it’s an app, or anything else) but implementing them takes time, effort and persistence over a long period. I’d bet most smaller developers don’t do it, and that’s a shame. I love the sound of this new feature from RevenueCat that promises to manage the process automatically. The bad news is that it’s not currently available on anything but their most premium plan, which means that the people who probably aren’t doing these experiments will need to wait a little longer until they can give it a try.
For full disclosure, Revenue Cat has previously sponsored iOS Dev Weekly, but their sponsorship did not influence my decision to include this item. I just read the blog post.
Have you filled in an export compliance form for your app? Did you know that if you ship an app that uses HTTPS, even as a client, that you need to? Did you know that the process of filling it in isn’t anywhere near as onerous as you might think? This is great advice from David Olesch, whether you’re just getting your first app ready, or whether you’ve just been putting off this important task.
Senior iOS Engineer @ DuckDuckGo – Rather than rely on interviews, we base our hiring decisions on demonstrable work performance. We achieve that through asking our candidates to complete paid projects, which largely resemble the type of challenges they would be solving at DuckDuckGo every day. – Remote (anywhere)
Senior iOS Software Engineer @ WillowTree – As a Senior Software Engineer at WillowTree, you’ll have the opportunity to impact teammates throughout various stages of their careers. You’ll have clear oversight of how engineering runs day-to-day and will influence project outcomes. This is not a remote position and may require some travel. Currently, all team members are working from home until our offices reopen. – Charlottesville VA