Sponsored Link
Building an open-source app? MacStadium can help
To support the open-source community, MacStadium is offering free cloud-hosted Mac minis for iOS or macOS developers working on open source projects. Both Intel-based and Apple silicon M1 minis are available or apply an equivalent discount to a private cloud. Apply here to get started.
News
AltConf 2021?
I meant to include this last week when talking about WWDC. I really like how the AltConf team think about their position regarding WWDC. They exist to provide extra capacity around the conference, not as "competition" to it. Since the capacity of an online WWDC is not limited, they have scaled back their plans, but that doesn't mean that nothing is happening. Read on to find out what they are up to!
Get ready for App Tracking Transparency
There's nothing particularly new in this reminder from Apple, but it's worth mentioning in case everything around the AppTrackingTransparency framework has somehow passed you by. Are you ready?
Tools
Xcode's secret Internal debug menu
I thought I had linked to this little curiosity before, but a search of my archives turns up nothing. It shouldn't be a surprise that this exists. I'd imagine we've all built a secret debug menu into apps that we've written. I know I have!. Thanks to Khoa Pham for the tip!
Note: It might be obvious, but Apple does not want you to enable this and absolutely will not guarantee what these menu commands do. If it turns out that "Capture Canvas Element Images" erases your disk, that's on you. đ
Note #2: Apple folks, please see rdar://987654321: "Capture Canvas Element Images" should not erase your disk. đ
Code
Introducing Swift Collections
Have you ever wished for an ordered dictionary? Me too! Apple is continuing to publish more and more Swift packages, and swift-collections is their latest. Karoy Lorentey takes us through ordered sets, ordered dictionaries, and deques.
Custom Property Wrappers for SwiftUI
Here's Dave DeLong writing about some of the property wrappers he's come up with while working with SwiftUI. The clever part of all three of these wrappers is not the code, it's how they help add better semantic meaning to your properties.
Exploring some of the lesser-known, built-in Formatter types
I'm fairly sure everyone reading this will have used a DateFormatter
at some point, but have you used some of the other formatting APIs? John Sundell gives us a look at formatting names, addresses, and lists. As someone who only speaks English and is a fan of the Oxford Comma, I found his comments on the internationalisation aspects of ListFormatter fascinating.
More Efficient/Faster Average Color of Image
When I first saw the title of this post from Christian Selig, I thought it would be about Core Image as I've seen several people recommend that in the past. Of course, there's always a more straightforward way. đ
macOS Development
Creating a licensing system for paid apps in Swift
Unlike with iOS, you have a choice of how you'd like to sell your Mac app. Do you pop it into the Mac App Store and cross your fingers? Or, do you also sell independently? Selling outside the MAS is important, but you'll face the problem of building a licensing system. I enjoyed this post from Bruno Rocha, which tackles the problem both conceptually and technically.
Business and Marketing
Paywall Screens
This new site from Rahul Shah is fantastic. The idea of a gallery site for inspiration is not new, but I love that this site focuses on probably one of the most critical parts of your app design, if you want to make money from it, payment screens.
Jobs
macOS Software Engineer @ Elgato â Elgato's awesome software products require awesome engineers. We are looking for highly motivated engineers focusing on macOS desktop applications to extend our product portfolio and improve the existing products. Your future agile team is a mix of experienced and junior colleagues with various technical and cultural backgrounds. We are looking forward to meeting you. â MĂŒnchen or Mönchengladbach
Senior iOS Developer @ Vivino â Join our incredible, multicultural, passionate and truly international work culture and empower people everywhere to enjoy wine to the fullest. â Copenhagen
Technical Lead, Mobile Engineering @ M1 Finance â M1 Finance, The Finance Super App, is on a đ of growth! We want to empower our users to take control of their financial well-being, and we would like you to help us. If you are an enthusiastic mobile engineer looking for your next product challenge and mentoring opportunity, then we would be delighted to hear from you. â Chicago IL
Senior iOS Engineer @ DuckDuckGo â We are a diverse and fully distributed team from around the world, working toward our shared vision to raise the standard of trust online. Join our team as a Senior iOS Engineer and help shape the technology that powers the DuckDuckGo search experience. As part of our growing team, you will collaborate with team members at all levels to identify and close major gaps in our products. â Remote
Senior iOS Engineer @ onX â Are you an iOS developer who loves the outdoors? Join onX! If youâre passionate about writing great software, love playing outside, believe in protecting access to public lands, and want to dominate the off-pavement mobile GPS market â then join our team, where we empower millions of outdoor enthusiasts to explore the unknown! â Remote within the US
iOS Engineer (Multiple Levels) @ Turo â Help us build product features that delight guests who book vehicles on our platform and enable hosts with the tools they need to manage their fleet. The iOS team is actively transitioning our iOS codebase from Objective-C to Swift, and weâre learning SwiftUI togetherâin labsâas we migrate our internal, watchOS, and tvOS apps. Itâs really an exciting time to be an Apple-centric engineer at Turo. â San Francisco CA
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. As we revolutionize the way people manage their expenses, being part of the Expensify team means building the easiest, fastest, and most efficient platform to automate everything expense-related. â Remote, San Francisco, Portland, Michigan, New York, London, or Melbourne
iOS Software Engineer @ Lose It! â We believe a small team of talented people can do great things. We are purpose-driven, with start-up energy and the stability of a profitable business with plans for the future. Our product-first strategy has helped millions of users live healthier lives. Lose It! offers incredible benefits, flexible hours and a balanced approach to work and life. Feel like the team for you? Letâs talk. â Boston MA
Senior Mobile Software Engineer @ Doximity â Doximity, the medical network used by over 70% of US clinicians, is hiring passionate Senior iOS engineers (remote-friendly!). You'll get to be part of an amazing product team and work on an app that is constantly evolving. Use your skills (Swift, MVVM, FRP) to be an integral part of our newly launched telemedicine feature. Apply today! â Remote within the US
Are you hiring? Get your open iOS development positions listed right here by posting a Featured Listing over at iOS Dev Jobs.
Insiders
Thanks so much to this weekâs supporters and insiders! Sommer Panage, Roland Gröpmair, Jean-Francois Duval, Patrick McCarron, and Vadim Shpakovski. â€ïž I appreciate your support.
What is all this âInsidersâ stuff? If you happened to miss the 500th issue, I launched something new as part of it! Thereâs no pressure at all to join, but itâs available if youâd like to!
Comment
Many years ago, back when I used to be a .net developer, I remember feeling frustrated by Microsoft developer marketing. They needed to sell Visual Studio upgrade licenses every year, so their messaging was always around what was coming in next yearâs release. As soon as every major version released, it felt like it was already out of date because Microsoft immediately started hyping up next yearâs enhancements.
Apple doesnât have a sales model as Visual Studio did back in the late 90s/early 00s. In fact, in stark contrast, they never talk about whatâs coming next! Instead, we, the community, have taken over that task, and from the minute the annual set of new operating systems ship, our minds turn to whatâs coming next year. đ Will this bug be fixed? Will SwiftUI get that new API next year? Will Core Data be replaced with something that feels more at home with SwiftUI? How many times have you read an article titled âIs SwiftUI ready for production?â in the last year? It reminds me of the old feelings I had about the Microsoft sales cycle, except weâre doing it to ourselves.
Maybe Iâve changed as I got older, but over the last few years Iâve found myself wanting to think less about whatâs coming next, and more about the present. I donât pay too much attention to the latest rumours, and while Iâm not immune from talking about or linking to articles on what might be coming in next yearâs releases, I try not to dwell on it.
Thereâs always something new coming, and it can be tempting to say, âThis will be so much easier when X gets releasedâ. Unfortunately, I have bad news. When X is released, Y will be just around the corner, tempting you to wait for it, too.
Thereâs no better time to start building something than right now. It doesnât need to be âpureâ anything, and it doesnât need to be using the latest trends in app architecture. Itâs much more important to build the things you want to make than to ensure that they are perfect.
Note: Please ignore that last sentence if youâre building aircraft flight control systems or nuclear reactor security software. đ
Dave Verwer