Sponsored Link
Simplify debugging for iOS apps
Cut through the noise of failing tests and unclear boolean results. See exactly what failed in your test and why with a full video replay, console logs + network calls, device details, and more! Check out an example here, and try it with your own app by visiting waldo.com.
News
WWDC23 highlights
With 175 official sessions, knowing where to start with this yearās videos can be overwhelming. How about if someone from Apple had narrowed it down to a list of 45 essential ones? That would help quite a bit!
Supporting Swift 5.9 beta versions on Swift Package Index
I donāt usually link to when we support a new Swift version with the Swift Package Index, but weāre so early with this one that I thought it was worth mentioning. All of the compatibility testing is already complete, and if youāre a package author, you can opt-in to have your documentation built with 5.9, too!
Tools
Little big improvements in Xcode 15
Hereās Sarun Wongpatcharapakorn to give us an animated clip overview of everything new in Xcode 15, including improved autocompletion, context awareness, the beautiful new documentation preview view, bookmarks, refactoring improvements, and the fantastic new quick actions/command palette feature. Itās a good year for Xcode!
Code
Whatās new in SwiftUI for iOS 17
I donāt know how Paul Hudson does it. Weāre only one week after WWDC, and here he is with 83 sample Xcode projects and blog posts covering a host of new goodies. I struggle to think of three things I did this week! š¬
Inspectors in SwiftUI
Oh, yes! The new inspector views look fantastic, and great to get a definitive way to handle this layout across multiple device sizes and platforms. Thanks to Matthaus Woolard for doing this quick write-up covering them.
Swift-Macros: A curated list of awesome Swift Macros
I want to write something more detailed about macros once I have a chance to dig into them more than watching the session videos (1 and 2), and maybe this new repository from Krzysztof ZabÅocki is where I should start? Itās a rapidly expanding list that includes packages, macros, educational resources, and tools.
Handling Empty States with UIContentUnavailableConfiguration
I donāt know how often Iāve written code to show an empty state in an iOS app, but Iāve done it more times than Iād like! If you have a table view, do you use a single cell that takes the whole content area? Or do you replace the entire view? Then, what happens when your view content starts loading? Apple has just put all those conversations to bed and provided a definitive answer to the question, and Lee Kah Seng is here to show us how to use it.
SwiftUI Prefers Semantics
This is an excellent reminder from Daniel Saidi of a technique that is always useful around this time of year!
Business and Marketing
Updated agreements and guidelines now available
Iām so happy to see Apple continue to document the App Store Review Guidelines changes as they have done again here. š
Jobs
iPad Software Engineer @ Liquid Instruments ā Liquid Instruments is a startup creating a range of modern test and measurement devices using reconfigurable FPGA hardware. We're looking for someone to help develop the beautiful iPad user interface that drives it all. ā On-site (Australia)
Senior iOS Developer @ komoot ā Youāll team up with four world class iOS engineers and take over full responsibility for our iOS app. Youāll develop diverse features for navigation, routing, social interaction and content visualisation that will make your work challenging and fun. ā Remote (within European timezones)
Swift Product Engineers @ The Browser Company ā Fully remote, diverse team building an all-Swift web browser and bringing Swift to other operating systems. Series A, well-funded and a seasoned engineering team. We're building a beloved product by thinking differently about how we work and the future of the internet. ā Remote (within US timezones)
Is your company hiring? You can post your open positions for free over at iOS Dev Jobs.
And finally...
I see what you did there, Steve! š
Comment
Did you spot this Apple developer news article on privacy and app integrity published last week during WWDC? It includes information and links to two upcoming features, privacy manifests and ārequired reasonā APIs. Thereās a great session video from WWDC, which Iād highly recommend watching to get you up to speed with both.
Privacy nutrition labels on the App Store were a step forward for how informed people could be about what an app is doing with their data, but Iād also bet that a non-trivial amount of them are incorrect in some way. š¬ In the vast amount of cases, Iād expect that to be caused by the inclusion of third-party SDKs.
Privacy manifests aim to fix that problem by allowing package authors to include privacy information in each package, and Xcode 15 has a feature to gather those together for every SDK in your app. Wonāt it be great when we donāt need to dig through third-party documentation (or even make guesses from a privacy policy!) to figure out what a vendor is doing or, even better, decide whether to use an SDK? š
Even better, the post also says these manifests will eventually become required. They donāt go into any detail (that I could see) about when or precisely what this means, but Iād expect it to be a pre-flight check when uploading an app to the store.
But thatās not everything, and tucked away at the bottom of the news post was a little note that says everything about how seriously Apple think about this. They say that later this year, theyāll publish āa list of privacy-impacting SDKs (third-party SDKs that have particularly high impact on user privacy)ā. I have no idea what theyāll publish or how they will distribute it, but thatās a clear sign that they are a company on the warpath!
Of course, weāre already considering how we will integrate privacy manifest data into package pages on the you-know-what. š
Dave Verwer