Sponsored Link
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? āļø
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.
Dave Verwer