Sponsored Link
Spend Your Time Developing Not Debugging with Instabug SDK
Stay on top of critical issues affecting your users' experience before they even complain. Whether it’s a crash, slow screen transition, slow network call, or UI hang. With Instabug SDK, get comprehensive bug, crash reports, and mobile-focused performance metrics along with all the logs you need to ship high-quality experiences for your users. Get started now!
News
Enhancements to sandbox testing now available
The number of different IAP and subscription options are a little overwhelming these days. Luckily, you can now test many more of these situations in the App Store Connect sandbox. 👍
Tools
Linting licenses
Keeping track of how the dependencies you use in your apps are licensed is a critical part of keeping your app legally compliant, so why not automate it with ad_licenselint from Pierre Felgines. It currently only supports CocoaPods, but that is still by far the dominant dependency management solution for now.
Filter through schemes and simulators in Xcode
This week's "Well, I didn't know that about Xcode!" is from Novall Khan. I love secret little UI features like this. ❤️
Code
How to Stop Using My Code
Deprecating code in a responsible way is hard, but it's the right thing to do if your library was lucky enough to pick up some users. I loved every word of this very entertaining post from Harlan Kellaway about how he deprecated his JSON parsing library, which I won't link to as he's trying to deprecate it! 😂
Porting @AppStorage to iOS 13
I love that this post from Xavier Lowmiller starts by exploring if you could fit the source for an app that keeps track of how many drinks you've had into a Tweet. Find out the answer to that question, and learn about AppStorage by reading the whole thing.
NSUserActivity with SwiftUI
There has been no shortage of SwiftUI posts in the last few months, but most have focused on the obvious. Taking advantage of the new views in this year's releases, showing how to build a widget, and a few other common topics. It's nice to see Javier Nigro tackle something a little different in this post, and as with everything he writes, it's worth reading. 👍
Persistent History Tracking in Core Data
Keeping a central data source up to date when you've implemented all of the different types of system extensions that are available today can be tricky. If you're using Core Data, here's Antoine van der Lee with a post on enabling and using persistent history tracking.
macOS Development
Design and implement macOS document icons
When I first started using a Mac, one of the things that struck me was that it wasn't only apps that had impeccably designed icons, but also the documents they created! I remember being a bit defeated when I tried to make one though, I couldn't ever quite get it to look right, and I never got as far as shipping one. I'm incredibly happy to see this getting the attention it deserves in Xcode. I hope this spawns a million beautiful document icons. ❤️
Comment
I wasn’t ever really excited about “Sign in with Apple”. Yes, it’s a step forward compared to the alternatives, but it’s still giving some level of control of your app’s user accounts to a third party. That makes me very nervous, both as a user and as a developer.
As a result, I’ve not yet used Sign in with Apple as a user except in one case where there was no alternative. Usernames and passwords are a very long way from ideal, but I know that with my password manager of choice and a bit of personal discipline, I’ll always be able to log in to the services I use for as long as I have an email address.
I can see how using these login services is incredibly tempting as an app developer. Implementing proper user management with login/logout/password reset etc. is tedious work that doesn’t make your app better than the competition, so why would you do it? I’d say guaranteeing to never be in a position where a third party could lock your users out of your service is a pretty good reason.
The other side of the argument is that it reduces sign-up/sign-in friction, and some users are going to trust your app more if they can delegate authentication to their favourite provider. That’s not to be underestimated, but remember that it comes at a price before you jump in.
We don’t know the full details of this week’s Epic/Apple drama, and probably never will. But it seemed like an excellent chance to talk a bit about this subject in general.
Dave Verwer