Sponsored Link
Track your users’ experience in the wild with Instabug's APM
Whether it’s a crash, slow screen transition, slow network call, or UI hangs, utilize performance patterns to trace the issue. Detect if a specific app version, device, or a network connection is affecting users' experiences and spot trends and spikes. Try Instabug now and see how improved performance can increment your revenue.
News
Swift 5.7 Released
The title of this post says it all. All those fancy new Swift features you learned about in this year’s WWDC videos are ready to make your apps up to 13.2% more Swiftier than before! You might be familiar with the headline features of 5.7 in the first portion of the post, but I also like that there’s a list of implemented evolution proposals towards the end.
Points, Pixels, and the iPhone 14 Line Up
One thing I missed when Apple introduced the new phones last week is that the 14 Pro models have a different resolution than the 13 Pro models! Do you know who didn’t miss that fact? Geoff Hackworth didn’t. Here he is with his usual, incredibly detailed look at all things points and pixels for this year’s device lineup.
Tools
Enabling Concurrency warnings in Xcode 14
The first sentence of this post from Donny Wals says it all, really:
If you want to make sure that your code adopts Swift concurrency as correctly as possible in Swift 5.7, it's a good idea to enable Strict Concurrency Checking in your project.
He has some details, of course, but his message is clear.
Code
The SwiftUI Layout Protocol
You may have already read the documentation or one of the articles I’ve linked to on the new SwiftUI Layout
protocol. Even if you consider yourself well-researched on the subject, I’d recommend reading this two-part (1, 2) post from Javier Nigro. As with everything he writes, it’s worth reading twice.
Supporting the Apple Watch Ultra Action Button
The most exciting part of the Apple Watch Ultra is that it has a new button! Can we take advantage of it as app developers? If your app is activity-oriented, yes! Here’s Quentin Zervaas with a quick look at how it works.
Refresh Cell Content Using UIHostingConfiguration
Here’s Lee Kah Seng with a very clear example of how and when to use the new UIHostingConfiguration
APIs in iOS 16. Just look at these two technologies playing so nicely together!
Understanding Type Erasure in Swift
When I wanted to learn about erasure, I went here and ended up reliving my late 80s school days. What I should have done is read this article from Bruno Rocha. It’s such an easy mistake to make!
Business and Marketing
Mac App Store and investing engineering time
One might even say that success is defined by making the right compromises at the right time.
Christopher Atlan with a post that I wish he had not had to write. I wouldn’t want to get rid of the sandbox on macOS, but posts like this are why I no longer buy Mac software on the App Store unless that’s the only place to get it. 😞
Books
Integrating SwiftUI into UIKit Apps
If you read a random selection of recent community blog posts, you’d be forgiven for thinking that every app uses SwiftUI and that UIKit is a legacy technology. The reality is that the vast majority of apps are still UIKit with a little SwiftUI sprinkled in here and there. It’s easy to find the rough technique for integrating the two technologies, but wouldn’t it be nice if someone were there to guide you through common scenarios? That’s where Natalia Panferova’s new book comes in. 🚀
Jobs
Senior iOS Engineer @ Sendwave – We currently have a 4.6-star rating on Trustpilot — people put their faith in us to deliver their money quickly, securely, and affordably. And we’re pretty darn proud of that. – Remote (within US or European 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)
iOS SDK Developer @ Stream – You will write and maintain our open-source SDKs that are used by hundreds of our customers and consumed by hundreds of millions of their users. – Remote (within US or European timezones)
macOS / iOS Developers @ Kagi Inc. – Orion browser is the newest macOS/iOS web browser ready take on the world! Create the future best browser on Apple devices with us. Flexible work conditions, remote work OK. Kagi Inc. がお届けする Orion ブラウザは、世界最新の macOS/iOS 用ブラウザです。私たちの目指す「Apple デバイス用の最高のブラウザ」を一緒に作りましょう。 – Remote (Anywhere)
Senior Software Engineer (iOS) @ Driver Technologies Inc. – Driver is dedicated to making life-saving driving technology available to everyone. We’re leveraging the power of computer vision and big data analysis to make collision alerts and driver assistance features available on common mobile devices. – Remote (Anywhere)
Is your company hiring? Now is a great time to get some eyes on your open job opportunities. Please let your hiring managers know that they can post jobs for free over on iOS Dev Jobs.
And finally...
Who is the Apple Watch Ultra targeted at? 💀
Comment
Isn’t it great to be back to not having a beta version of Xcode installed? I hope you enjoyed the last few days because that time is over. 😂
But why would you install the Xcode 14.1 beta that came out two days ago? Well, if you’re anything like me, then your current favourite feature of iOS 16 is the new lock screen widgets, and iOS 16.1 will enable live activities on the lock screen (and in the Dynamic Island, for those with a Pro). Apple has even published two new articles on displaying live data and updating/ending a Live Activity to get you started!
Time to start coding that Live Activity, right? Did that Xcode beta download finish yet?
As always-on screens become standard across in-use iPhones over the next few years, will these constantly updating widgets become an essential part of how we (and our users) use our phones? It’s so difficult to know. Sure, the examples of an in-progress sports game or a time-sensitive delivery (the documentation uses a Pizza delivery as its example) are obvious! But will people use and appreciate this feature in your app if you spend time implementing it?
Or is it another Launchpad (which was deemed important enough to make it onto hardware buttons!), iBeacons, iMessage apps, or so many others that looked amazing at launch but didn’t pan out into real-world use? I intend no criticism of Apple with that last sentence. None of us can be sure of which features will be truly successful before they launch, no matter how much market research or planning we do.
If I had to make a guess, I think Live Activities stand a good chance of being successful. The new lock screen is something everyone with an iPhone uses multiple times every day, and that’s a good start. But as always, it’s a balance. Do you have a compelling use case that you can’t ignore? Will you get some marketing juice out of being there with a day-one Live Activity release? Will Apple feature your app? Or would it be better to wait and see how the dust settles?
If you need to spend more than a couple of minutes thinking about how you could use this API, it might be good to hold off on that beta Xcode download for a few weeks.
Dave Verwer