Sponsored Link
Discover Key Metrics to Monitor in the Mobile APM Guide
Discover key metrics to monitor such as launch times and crash-free sessions to ensure customer retention and happiness. Download now.
News
EU Approves Legislation to Regulate Apple and Other Big Tech Firms
It’s always hard to tell the exact impact of these decisions, but “formally adopted“ certainly seems like this is on its way to becoming significant. Apple’s response to these bits of legislation is predictable. They will comply but only make the minimum changes required in each territory.
So if or when this becomes law, you can likely look forward to an iOS where various features like sideloading are enabled/disabled based on country of purchase. I’d imagine they’ll also eat some months/years of fines before they start making any of these changes. What a mess.
Storyboards deprecated for watchOS apps
Curtis Herbert is correct, and the writing is on the wall. However, before you panic, deprecation indicates that you should migrate away from something rather than its imminent removal. APIs that Apple deprecates usually stick around for years before being removed. I also don’t think this indicates they’ll touch XIBs or storyboards on iOS/macOS. They will be here for a very long time.
Still, it’s an interesting development!
Did Xcode 14 beta 3 cause you Interface Builder problems?
Did this week’s Xcode beta break Interface Builder for you like it did for others? It’s unusual that installing a beta alongside a shipping version of Xcode would cause system-wide problems, but if you are stuck, then this tip from Josh Hrach might help you out.
Tools
VirtualBuddy
Guilherme Rambo has been experimenting with macOS 11’s Virtualization framework and the Ventura beta, and just like that, he now has a new app! It’s open-source, so feel free to look at how it works or contribute something!
Proxyman for iOS development
Natascha Fadeeva digs into using Proxyman for debugging network requests in an iOS application. I’ve linked to a few articles on this subject before, but this piece goes one step further than most by investigating changing response data using local files, which can be time-saving if you’re debugging something where you have control of the server and life-saving if you don’t!
Code
Swift language announcements from WWDC22
It’s easy to get distracted by all the SwiftUI, UIKit and AppKit features at WWDC and forget that Swift also brought new language features into Xcode 14 with Swift 5.7. Natalia Panferova and Matthaus Woolard put together a fantastic recap of this year’s language announcements over on the official Swift blog, and Feli Bernutz put together a wonderful sketch note to accompany it. You should check out the Timelapse of the sketch note, too!🦇
Using UICalendarView in a SwiftUI app
Were you excited to see UICalendarView announced this year, only to be disappointed that there wasn’t a SwiftUI version available? Chris Wu was, but that didn’t stop him from getting it working.
SwiftUI Renderers and Their Tricks
If you look at the first sentence of Apple’s ImageRenderer documentation, it says:
Use ImageRenderer to export bitmap image data from a SwiftUI view.
Sounds straightforward, right? It has much more depth, as Javier Nigro explains in this article.
Swiftly
I found this great cheat sheet from EugeneBelinski via this tweet from Jordan Morgan. First, both Swiftly and the companion site, iOS Ref, are an excellent reminder that a good cheat sheet is rare!
It’s also so nice to see people share other people’s work. When was the last time you shared something you found useful or interesting from this community? You’ll make someone’s day, as I’m sure Eugene had his day made by Jordan.
Augmented Reality Digital Lounge from WWDC22
Sing it with Yono Mittlefehldt and me. 🎶 “Apple should archive and make available transcripts or summaries of the diiiiiiiiiigitttalll lounges.” 🎶
Thanks so much for archiving this valuable information from the ARKit and Machine Learning lounges, Yono!
Jobs
Senior iOS Engineer @ DuckDuckGo – You will work on the team responsible for an all-in-one privacy solution. You'll collaborate with Product Managers, Designers, and Engineers across Native Apps to craft a world-class browser with embedded privacy features that will revolutionise the way people search, surf, and exist online. – Remote (Anywhere)
Senior iOS Developer @ Storyteller – We're looking for an amazing Senior iOS Developer to join our growing team and help push this product on to the next 100 million users. You'll be working with the latest technologies across Swift using the latest equipment of your choice. – Remote (within European timezones)
iOS Developer @ Konrad – Konrad is an amazing community of the brightest minds in tech. We build bleeding-edge mobile applications for some of the largest, most exciting companies in the world. We have a team of 250+ developers that work with the latest technologies. – Remote (within US timezones) with some on-site work (Canada)
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)
Senior iOS Engineer (Swift) @ GoodNotes – GoodNotes is a top-rated paid-for productivity app, available to use on iPad, iPhone and Mac devices with over 10m MAU. You will own your projects and work alongside a high-calibre cross-functional team to continue delivering a product our users love! – Remote (within European or Asia-Pacific timezones) or on-site (Hong Kong or United Kingdom)
Senior iOS Engineer @ DuckDuckGo – An opportunity to work on a fast growing suite of privacy products (iOS & macOS browsers, upcoming new products for mobile/desktop) that will genuinely make the Internet a better place and that will bring it back to its core ideals. And all of that in an environment built for remote from ground up! – Remote (Anywhere)
Senior iOS Developer @ Dwell – Dwell App helps 100K+ believers cultivate a habit of living in the Bible. We love helping people connect more deeply with God through Scripture, and we enjoy the challenge of using technology to accomplish that mission. Our team is on the hunt for a new iOS team member who aligns with our mission. – Remote (within US timezones)
Senior iOS Developer @ Flightradar24 – Join the team at Flightradar24, working on the world's most popular flight tracking service. This is your chance to be part of our small but mighty mobile team, work on every part of our iOS app and have a big impact on over 3 million daily users. – Remote (within European timezones)
Senior iOS Engineer @ onX – Are you a Software Engineer that loves the outdoors? onX is hiring iOS Engineers. If you’re passionate about building great software, love playing outside, and believe in protecting access to public lands - then join onX, where we empower millions of outdoor enthusiasts to explore the unknown! – Remote (within US timezones) or on-site (United States in MT)
Senior iOS Developer @ E-gineering, Inc. – E-gineering is 100% employee-owned. We value our people and serve with excellence and integrity. For 12+ years, we have been recognized as the Best Places to Work in Indiana, consistently ranking in the top 3 of our category. – Remote (within US timezones)
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, MVVM, FRP) to be an integral part of our newly launched telemed feature. – Remote (within US timezones)
Are you looking for a change of job? Check out iOS Dev Jobs for even more opportunities, and download the native iOS and macOS apps for daily notifications of new ones.
And finally...
iOS, but teenage engineering took over the audio settings. đź’ˇ
Comment
I was going to start this week’s issue with some words about open-source funding before getting to my main point, but it’s too important to bury below my usual twaddle, so here we go.
The Swift Package Index needs your help.
Sven and I are proud of what we have managed to build over the last two years, but unfortunately, it has become clear that our plans to make it financially sustainable are nowhere near sufficient.
Our hosting costs are covered thanks to the generous sponsorship from MacStadium and Microsoft Azure, but it’s about more than hosting costs. Even outside of feature development (like the auto-hosted DocC documentation we launched recently), the project demands significant effort from us. Unlike many open-source projects made up of library or utility code, the package index is a living website that requires near-constant attention.
We launched a GitHub Sponsors site back in October 2020, and I want to express my genuine thanks to the 61 members of this community that generously support the project there. We’re so grateful for you. Thank you. We also took on some corporate sponsors, and I want to thank Stream and Runway for their kind support. It’s very much appreciated.
Unfortunately, it’s nowhere near enough. We don’t want to increase the amount of corporate sponsorship on the site, so we are appealing today to see if we can make community-based sponsorship work. We do get new GitHub sponsors every few weeks, but we also naturally lose people, and the amount/month has stayed approximately flat at around $300/month since we first launched it. Of course, that’s not a trivial amount of money, but split between two people, it only covers a fraction of the time we put into the project.
Your support would be greatly appreciated if you find the Swift Package Index useful. Even better, if your company supports open-source projects, maybe suggest that this would be a worthwhile project to get behind? We’re not yet at a critical stage with funding, but we will need to make difficult decisions later this year if nothing changes.
Please consider sponsoring the Swift Package Index on GitHub sponsors. Thank you.
Your help sharing this message as widely as possible would also be very much appreciated. 🚀
Dave Verwer