Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 492

29th January 2021

Written by Dave Verwer

Comment

I’ve been accepting suggestions for links to include in iOS Dev Weekly for years using off the shelf web form software. It worked, but every time someone suggested a blog post, I’d reply by email to thank them and ask if they’d consider being a part of the iOS Dev Directory. Or, when someone suggested a Swift library, I’d reply and ask if they would add it to the Swift Package Index. I have snippets for both those emails, but it was still a chore.

So I set myself a fun little project last weekend to save myself some typing. I built a custom site to accept link suggestions. It asks the same questions as the form did, but if you’re submitting a blog post or a Swift package, it automates the work I used to do manually and suggests next steps. I’d love it if you checked it out.

Why am I telling you this? I thought it might be a good reminder of three things:

But, even better than that…

Trying to stay aware of new voices and projects in the community is something I’ve been working hard on for many years, and I started both these projects to help me with that task. Of course, I hope they’re useful sites in their own right too!

I also hope this is a good reminder that you may look at someone else’s project and think it’s growing organically. In fact, it’s probably powered by constant work, like the emails I send every day. It takes effort to keep people aware of what you’re doing, and most of it happens quietly behind the scenes.

Open-Source iOS & macOS Chat SDK

Check out Stream’s cross-platform open-source chat SDK on GitHub! Write once and deploy your app with fully featured chat UI on iOS and macOS!

News

Brad Cox, Creator of Objective-C, Passes

I didn’t know Brad personally, but I love the language he created and was sorry to learn about his passing this week. John Gruber has a lovely story about him, and I also really enjoyed this post from Gus Mueller.

Objective-C was brilliant, powerful, and elegant.

It really was, and still is! If I had to pick only one of those three words, it would be elegant. Objective-C will always have a special place in my heart. Thanks Brad.


The 2020 iOS Developer Community Survey

The questionnaire for this year’s survey closes this weekend, so now is your last chance to be a part of it. It should take about 15-20 minutes of your time, and all of the results will be aggregated and published in a few weeks. It’d be great to have your voice added to the thousand people who have already filled it in.


Apple WWDR Intermediate Certificate Update

This doesn’t happen very often! There’s a new WWDR intermediate certificate, and some certificates have now started to be issued through. Do you need to do anything? It depends! For some apps, it’ll be as simple as just keeping up to date with Xcode versions, but the more complex your app or deployment process, you may need to pay attention and keep the old intermediate certificate around as well. There’s more information in this support document.

Code

TwitterTextEditor

Text editing is one of those common tasks in iOS applications which looks easy but can be unexpectedly complicated.

I’d remove “in iOS applications” from that sentence! 😂 UITextView will get you a long way, but there’s a huge leap in complexity if you need more than it can provide. Yoshimasa Niwa talks about the new TwitterTextEditor library, which looks very promising. 👍


Which SwiftUI property wrapper to choose in any situation

I love what Paul Hudson has done with this post. He’s created a “choose your own adventure” style guide to the various property wrappers. Will you go left to find a @Binding, or right and accidentally face The Warlock of Firetop Mountain? 😱


Introducing ScheduledNotificationsViewController

If you’ve ever worked with local notifications, you will have come across the problem of trying to figure out if the notifications you thought you had scheduled are the ones that actually got scheduled. 😬 This debugging view controller from Oleg Dreyman looks to give a great overview of scheduled notifications.


Who said we can’t unit test SwiftUI views?

When I first saw that all SwiftUI view hierarchy was a function of state stored in structs, I figured it would be ideal for testing. We may not have seen Apple’s full plan for testing SwiftUI, but the current reality didn’t turn out to be quite as testable as I first hoped. Of course, you can (and should) snapshot test, but in this article, Alexey Naumov proposes something a little different using his new ViewInspector framework. Top marks for it being so well documented too!

Business and Marketing

Monthly focus documents instead of roadmaps

It’s clear that you should have well-organised roadmaps and structured planning if you’re building software in a large team. It’s also clear that you don’t want complex planning when working on your side project. It’s the middle ground in between those two extremes where things get tricky. I enjoyed this piece by Thomas Paul Mann on focus documents that incorporate the reality of unplanned work in a small company.

For full disclosure, Raycast has previously sponsored this newsletter.

Jobs

Senior iOS Engineer @ Primer – Primer is an online community for homeschooling kids, where we host interest-based clubs. Our iOS app allows kids to have magical shared experiences around their interests with other kids in the clubs. As the second iOS engineer, you will have a lot of impact on the future of this product. – San Francisco CA

iOS Lead @ Stakes – Stakes is a simulated sports betting app making social, viral, shareable content and experiences for our players. As our first full-time iOS dev, you’ll lead our mobile technology and make our roadmap a reality. Holler, so we can pitch you the future of watching sports together. – New York City NY

Senior iOS Software Engineer @ Doximity and iOS Software Engineer @ Doximity – Doximity, the medical network used by over 70% of US clinicians, is hiring passionate 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

Mobile DevOps Engineer @ ForeFlight – ForeFlight produces the best-selling iPad and iPhone app for pilots flying personal and business aircraft, corporate flight departments, and aircraft operators. As a Mobile DevOps Engineer, you’ll improve all aspects of our product delivery process and help us continue to delight our customers with industry-leading capabilities. – Austin TX

Senior iOS Engineer @ DuckDuckGo and Senior macOS 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

Are you hiring? Get your open iOS development positions listed right here by posting a Featured Listing over at iOS Dev Jobs.

And finally...

Why is it named California? ⌚️