Sponsored Link
Transitioning to Apple M1 silicon for iOS apps
Learn about the 3-step process to transition your iOS development to Apple M1 silicon Macs â with insights from Redditâs successful M1 transition, FAQs about the transition, and helpful M1 transition tips. Read more.
News
The Future of Foundation
The last thing I was expecting as we wind down 2022 was a major Swift announcement from Apple, but thatâs what we got! The Swift team are planning to rebuild Foundation from the ground up as an open-source project. đ The most significant win here will be for cross-platform Swift, but there are benefits on all sides, as youâll read in Tony Parkerâs post on the official Swift blog.
I also want to mention how nice it was to see the initial announcement of this change from Apple at a community conference. They may have made announcements at the LLVM conference before, but if not, I think this might be a first since the days of Macworld Stevenotes! đ
Sunsetting AppCode
I was sad to read this post from Anastasia Kazakova announcing an end-of-life plan for AppCode. Some people will dearly miss it but never quite made it big enough in the Swift development community to become mainstream. It got close, though, especially a couple of years after it first launched.
Competition in this area is a good thing, but with Xcode being so good and VS Codeâs support for Swift getting better every day, itâs an extremely tough market to enter with a paid product.
The reasons behind subsetting AppCode make sense, but the Swift tools ecosystem will be poorer without it.
Tools
Working around simctrl not working on iOS 16 simulators
The first thing I notice in any App Store screenshot is an ugly status bar. It may be irrelevant in the grand scheme of things, but it shows me that an app author has an eye for detail. If youâre using simctl
or an app that uses it behind the scenes to set a âperfectâ status bar and have noticed it stopped working recently, youâll want to read this post by Jesse Squires.
Itâs also worth mentioning that SimulatorStatusMagic is still diligently maintained by Chris Vasselli and Nick Brook. They assured me it would still be helpful to people when I attempted to retire it, and they were right. đ
Improve Debug Output
This is a good tip from Dominik Hauser. These should be different colours by default.
Oh, and if you're not familiar with breakpoint output, Mark Szymczyk happened to write up a guide this week, too.
Code
Lottie 4.0
Lottie still blows me away. I love the idea that designers, artists, and animators can use a powerful tool they are familiar with without making compromises inside the native app, where they eventually get rendered. Itâs magic!
It has also been around for a long time, so why the new link? Cal Stephens explains the significant behind-the-scenes upgrade to rendering that accompanied this recent v4 release. Itâs worth reading whether you use Lottie or not!
iOS In-App Subscription Tutorial with StoreKit 2 and Swift
There are several things to mention about this StoreKit post from Josh Holtz. First, itâs on the RevenueCat blog but it doesnât use their service. It covers implementing StoreKit subscriptions using only Appleâs APIs. Secondly, itâs comprehensive, with over 5,000 words, extensive sample code, and a companion GitHub repository.
Iâm sure the postâs primary purpose is to say, âLook how much work youâll have to do if you don't use RevenueCatâ, but I donât think that matters much. If youâre implementing StoreKit from scratch or are trying to solve a problem in your existing StoreKit implementation, Iâm sure youâll benefit from reading this guide.
For disclosure, RevenueCat has been a sponsor of this newsletter.
Swift Enum With Labeled Associated Values
If I could make one edit to Marco Eidinger's post on labelled associated enum values, it would be to move this advice from the very bottom of the article to the top:
Clarity is more important than brevity
Give it a read and let thousands of beautifully labelled enums thrive! đ
Shaders
This post from Dan Hollick helped explain many things about shaders that I half knew but never really understood. Shaders may not be immediately relevant in your day-to-day work, but itâs always a topic that has interested me, so it probably interests some of you, too! He also recommends The Book of Shaders, which looks great. đ
Business and Marketing
Walk the Line: iOS Account Deletion
I enjoyed every word of this post from Nick Wilkinson on the new account deletion rule and how tricky it is for both developers and the App Store review team. During the latest âAsk Appleâ event, he put some questions to the review team, then kindly took the time to write up his findings. Youâll want to read this if you have account creation/deletion in your app.
Jobs
Freelance Interview Engineer (US Only) @ Karat â We're dedicated to improving access in tech. If you are too, join us as a Karat Interview Engineer. As such, you'll conduct technical interviews of developers like you on behalf of our hiring clients (including Duolingo, Indeed, and more) using the Karat Platform and its data-tested questions. â Remote (within US timezones)
Senior iOS Developer @ komoot â Youâll work with a genuinely inspiring product that brings real-life value to our users and empowers them to explore more of the great outdoors. We offer challenging tasks like turn-by-turn navigation, maps, on-/offline hybrids, data synchronization, and nearly everything the iOS platform provides. â Remote (within European timezones)
Senior Mobile Engineer @ Emerge Tools â At Emerge you'll help build the future of mobile development and contribute directly to products used by many of the biggest mobile companies in the world. An ideal candidate would be passionate about the intersection of operating systems, runtimes, and developer tools. â Remote (Anywhere)
Senior iOS Engineer @ Doximity â Doximity, the medical network used by over 80% of US clinicians, is hiring passionate iOS engineers (fully remote!). Come be part of an amazing product team + work on an app that is constantly evolving. Use your skills (Swift, TCA, Combine) to be an integral part of our growing telemed feature. â Remote (within US timezones)
iOS SDK Developer @ Stream â Do you want to work on an open-source chat SDK used by hundreds of high-profile companies and startups that impact billions of users? If you are a product-minded engineer and care about software quality, apply on the link below. â Remote (within European timezones) or on-site (Netherlands)
And finally...
Thereâs only one thing to do with 700 new App Store price points! đ¸
Comment
As we head into the festive season, I find myself looking back on 2022. The world still feels like itâs heading in the wrong direction in so many ways, but as day-to-day life starts to more closely resemble pre-pandemic times, it has been a much more pleasant year than the last couple.
In the world of Swift and Apple platform development, we started this year amongst an avalanche of rumours that I didnât believe:
Iâll take a win on that one! It wasnât all success, though, as I did suspect we might see a watch face SDK this year, and that didnât pan out at all. đŹ
I like to read back through my introductory comments at the end of the year. I donât particularly enjoy it, it gives me the same feeling as listening to audio of myself speaking, but I find itâs valuable, and there were a few comments that I felt happy with as I re-read them.
My thoughts on issues with App Store business models and VC funding (and the follow-up) still feel relevant. I was also pleasantly surprised when I re-read my thoughts on AR user interfaces and the Swift plugin for VS Code. Finally, I was happy to highlight the great work on the Parse platform that survived abandonment.
It was also a big year for the Swift Package Index, with our primary focus this year being to build a robust package documentation system. Over 225 packages have adopted that documentation system, which is wonderful to see, and weâre proud to continue our work supporting the Swift open-source package ecosystem.
I hope you all take some time to look back and celebrate your achievements this year, too. I also hope the next few weeks are a time for celebration with family and friends and a break from work.
Finally, I want to thank you all for continuing to read what I have to say. This newsletter would not exist without you. As usual, there will be no newsletter next week and a âBest of And FinallyâŚâ the week after. Regular service will resume on the 6th of January, 2023. Iâll See you then!
Dave Verwer