Sponsored Link
Run iOS builds on M1, Intel or both with Orka
Orka 2.0 is now available and includes support for macOS build and test VMs on Apple silicon (M1) nodes ā either as a fully ARM-based environment or combined with Intel nodes to create a hybrid cluster. Learn more.
News
WWDC22
Alright, here we go! The announcement is predictably brief, mainly confirming the dates and the return of the Swift Student Challenge. The only unexpected news is that there will be an in-person single day event:
In addition to the online conference, Apple will host a special day for developers and students at Apple Park on June 6 to watch the keynote and State of the Union videos together, along with the online community.
That sentence raises more questions than it answers. Still, it tells me that Apple values an in-person event and that it's likely we'll see things swing back towards being a more "traditional" conference experience in the future.
CocoaPods CVEs
First things first, if you use CocoaPods then give it an update. š
I also canāt let this pass without mentioning how remarkable it is that Orta Therox, many years after moving on from Apple platform development, continues to respond and help maintain this project that remains a critical part of more apps than you can imagine. My thanks to Orta and Dimitris Koutsogiorgas, who helped publish this patch, and everyone else who has put any time and effort into this project. Youāre all not rewarded enough for your work.
Tools
Moving your Cursor Position in Terminal
Here's a great Terminal tip from Presh Onyee. Combine this with !!
and friends and you've got yourself a great recipe for saving lots of keypresses. š
Feedback on Xcode Cloud
Every time I see someone blog about Xcode Cloud, I see more positive experiences. This time, it's Pierre Abi-aad's turn to experiment with a small CI project. He does have a wishlist of improvements but again reports a positive experience. š
Code
Weak self, a story about memory management and closure
This post from Benoit Pasquier is worth a read, especially if you can recognise yourself in this sentence:
When we face a closure, we tend to write weak self followed by a guard let to quickly go around without thinking too much about the execution further down.
He explains why we still need to be careful and gives some good tips on approaching memory management and closures.
Hot Reloading in Swift
Iāve linked to John Holdsworthās Injection app several times in the last few years, and here it is again, powering Krzysztof ZabÅockiās latest library that provides live-reloading for your app, regardless of your UI framework and doesnāt need conditionally compiling out for production builds. Thereās plenty of information in the accompanying blog post if you want to know more!
SwiftUI Adaptive Stack Views
Creating an adaptive layout for your user interfaces using UIKit was always slightly awkward. Things got better with SwiftUI, but the problem still feels like it needs more thought than it should, especially when compared to web development, where responsive/adaptive layout is de rigueur. Here's Keith Harrison's take on how to do it.
Business and Marketing
Thinking about App Store screenshots for a menu bar app
I enjoyed this Twitter thread from Geoff Hackworth where he explains the thought process behind the App Store screenshots for his new app SF Menu Bar. It's a tough challenge to market something where the default window only covers approximately 1% of the screen!
Jobs
iOS Developer @ MFB Technologies, Inc. ā We are a two-year-old startup in legal tech. We pride ourselves on correctness over speed in development. Our iOS app uses SwiftUI and the Composable architectureāmodern and clean. No grind: our developers have dedicated time to develop their coding skills and think about architecture. ā Remote (within US timezones)
Mobile Full Stack Engineer @ Expensify ā Join our passionate team of top-notch engineers to solve a real-world problem, and help people spend less time managing expenses and more time pursuing their real goals. ā Remote (Anywhere) with some on-site work (Australia, United Kingdom, or United States in CA, MI, NY, or OR)
Senior iOS Developer @ Chariot Solutions ā Chariot Solutions is a Philly based consulting company that strives to create a product company culture. We work hard to win exciting projects with some of the top companies in the world, while helping our employees maintain a great work life balance. ā Remote (within US timezones)
Mobile Architect @ Bounteous ā We are seeking a Mobile Architect to design and lead the development of our iOS and Android applications. Strong candidates will be able to direct the design of new applications from conception to completion, mentor and manage technical teams, and possess strong client and communication skills. ā Remote (within US timezones) or on-site (Canada or United States)
Senior iOS Developer @ Flightradar24 ā With over 2 million daily users, Flightradar24 is the worldās most popular flight tracking service. As a member of our small iOS team, you'll work on every part of our app and have a lot of impact. We care about code quality and building the best possible product, and so should you. ā Remote (within European timezones)
Donāt forget that this is only a small selection of the available jobs over at iOS Dev Jobs. Sign up for the weekly jobs digest email, grab the iOS or macOS app, and never miss an opportunity again.
And finally...
Live, laugh, ... what? š
Comment
Last week, the custom, automated subscription change people saw in Disney+ was surrounded by speculation. This week, weāve had confirmation from Apple via Sarah Perez at TechCrunch:
Thatās excellent news.
A change like this deserves piloting. Even without this feature, thereās enough predatory pricing behaviour on the App Store to last a lifetime. Rolling out auto opt-in for subscription price increases to all developers would be a disaster that would further damage customer opinions on subscription pricing.
That said, itās also not practical to expect every app to stick to one subscription price forever or lose all of its subscribers if they choose to make a change. What should the rules around these changes be? Donāt ask me! But Iām sure that determining those rules is a major goal of the pilot.
Where could Apple do better with changes like this? Communication. Iāve written about this before, and my opinions havenāt changed much since then. It would be a significant change to open up about pilot programmes and other experiments, but Iād welcome anything that helps stem the cycle of speculation and outrage.
Iām not saying that every internal discussion of a new idea needs an accompanying news post, but itās probably time to say something by the time a pilot programme is live on the store. Iām also not saying this policy change would be easy. Apple is private-by-default and organisational change is hard.
Iām not teaching anyone at Apple anything by saying any of this. They know how this all works, and it doesnāt take a genius to have the idea to ācommunicate moreā. I am saying that I believe it would be a net positive for third party developers, though.
Dave Verwer