Sponsored Link
Testing your mobile app internally isn’t enough to ensure its quality
Is your app slow to launch or load? Are network requests timing out? Are there rendering issues and UI hangs? Get a detailed distribution of UI hangs occurrences per screen with Instabug’s triple threat of Application Performance Monitoring, Crash Reporting, and Bug Reporting and trace the issue. Get started now and ship apps users love.
News
Tax Category Setting Now Available in App Store Connect
It's always a good idea to pay your taxes, but it's also good not to pay too much! Up until now, Apple didn't precisely know what you were selling, and so I think this change is potentially going to mean you might save a little money on tax if you categorise your purchases correctly. Of course, this announcement doesn't explicitly say any of that, but that's my take on it.
SF Symbol Changes in iOS 15
SF Symbols keeps getting better with every release. This year, we get better localisation (RTL Symbols 😍), new rendering modes, significantly better support for multicolour symbols, and plenty more. Geoff Hackworth has his usual analysis of everything new.
Tools
XCResource
If you're anything like me, you know how to add custom Xcode file templates and snippets, and yet you don't do it. In my experience, there are enough reasons never to do this manually that I gave up trying. Wouldn't it be great if you could store templates and snippets centrally in git and quickly install them whenever you need to? This new tool from Gaétan Zanella might help. It's early days for the project, and I'd love to see features added relating to keeping everything up-to-date, but I can see this becoming a valuable tool for teams. There's more information available in the associated blog post too.
Filtering a list of schemes in Xcode
Thanks for this tip, Isa Lima! It's worth noting that virtually all of the dropdowns in Xcode work this way. Everything from picking a simulator to navigating lists of files in the editor breadcrumb bar. 🚀
Code
Open Sourcing Identified Collections
It's easy to say that this new library from Stephen Celis and Brandon Williams is very likely to save you time if you're working with SwiftUI. It's not only going to make your code a little more straightforward when it comes to dealing with List
and friends but also keep things performant.
Benchmarking Swift Code Properly with Attabench
I hadn't heard about Attabench before reading this article from Bruno Rocha. It's really easy to get misleading results when benchmarking code, so anything that helps with that is probably worth checking out.
The only word of caution I'd give is that the number of times you need to benchmark code is way less than you might think. You should reserve most benchmarking for code that runs a great many times in your app.
Tweaking animation timing
I'm linking to this post from Paulo Andrade not because it's a helpful tip about applying custom animation curves to animations, which it is. Instead, I'm linking it mainly because I discovered this site via the post. What a useful site! I love how you can preview animations with the curve you design.
Design
Mobbin
I first linked to Mobbin back in 2018, but they got a big update this week. One very cool new feature is the ability to look back over the history of an app. I found it fascinating to use that feature to see how companies have tweaked their onboarding/permission priming flow over the years.
They also added a paid plan, but honestly, I have no idea what it enables. All of the features on the pricing page worked for me without a membership. I wonder if there's a limited number of designs you can view without one? I didn't hit any limits though, it's curious!
Jobs
iOS Engineers at 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
Senior iOS SDK Architect @ Stream – Stream, a high-growth startup focused on Chat and Feeds, is hiring a Senior iOS SDK Architect to help build the future of their native iOS SDK. Join the team! – Remote, Boulder CO, or Amsterdam
iOS Developer @ Mozilla – Individual privacy is under attack online every day. Mozilla with Firefox is working to build an honest, safer, more accessible web. Join our iOS team to collaborate and grow our trusted open-source browser for millions of people around the world. – Remote within the US or Canada
Are you looking for a new challenge? Stay tuned for something new. Soon! In the meantime, 36 companies are searching for you over at iOS Dev Jobs. I'd love it if you checked it out. Thanks!
Insiders
As always, there’s a list of wonderful people to thank for being iOS Dev Weekly Insiders. I’m incredibly grateful to Curtis Herbert, Stephan Diederich, Jorge Cohen, Alexander Vasenin, and Richard Kelly for their support. Thank you. ❤️
And finally...
Want to run Windows 3.1? I didn't think so. 😂 How about if you could run it on an iPad? 💾
Comment
I’m determined to write something more positive today! I’ve been far too negative recently, so let’s fix that.
First of all, one of the iOS Dev Weekly Insiders brought up a great point during the latest discussion call. It’s worth remembering that not all feedback on the new releases has been as negative as the feedback about Safari was, and we should celebrate that! For example, everything I’ve read about the re-engineered weather app in iOS 15 has been positive. 😍
It’s good to see positive feedback, but the deeper issue remains. It wasn’t the negative feedback in itself that was disappointing. It was the fact that feedback was so absolute and final. It felt like there was little understanding that this is all part of a process.
So I looked a little deeper and found things I hadn’t seen before. First of all, M.G. Siegler’s post, “In Defense of the New Safari” from the start of this month. It’s a balanced piece, and I wish I had found it before this week. He even worries that Apple will see the negative feedback and revert the changes. I hope he also bought a lottery ticket that week! 😂
Then, this week’s piece from Jeff Kirvin, “Safari 15 isn’t bad, just misunderstood”. Again, it’s a positive look at the changes and more balanced than all of the negative feedback I saw.
So, it turns out that there were positive voices writing about Safari 15. Jeff is arguing quite strongly in favour of the changes, and M.G. saw both sides but was generally in favour.
But again, this isn’t about Safari. Reverting this change is probably the right move in this case, and I’m sure that while Apple will have read the external feedback, that was only one factor in why they made the change.
So, maybe part of the problem is that I need to do better research when controversial subjects come up! 😅 It was certainly refreshing to read some more balanced perspectives, and I’d recommend you read both articles too.
Which reminds me, It’s been a while since I linked to the iOS Dev Directory. If you’re writing anything related to Swift or iOS development, you should be listed there. I read everything on every one of those RSS feeds every week. Make sure I’m reading what you write too!
Dave Verwer