Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 683

18th October 2024

Written by Dave Verwer

Comment

Many people have written about the repeated screen recording permission prompts in macOS 15 and I mostly agree with the negative coverage.

There is some potentially good news coming in 15.1, with the promise of even less frequent prompts if you regularly use an app. That seems like a reasonable compromise, and is probably where Apple’s iteration on this feature will end. But I also liked Matthias Gansrigler’s recent idea about allowing apps to request default permissions.

The whole post is worth a read, but the gist of it is that if the entire purpose of an app is dependent on a privilege, developers should be able to request that privilege during App Review.

I always want my screenshot tool to have screen recording privileges, my voice memos app to have microphone privileges, and my calendar helper app to have access to my calendars. I’m sure you have examples you can think of, too, where even that initial prompt for the primary permission is unnecessary as it’s the entire purpose of the app.

I’d still like to be able to go to settings and turn off those default permissions, but having them on by default would be great at reducing permission prompt overload.

You might think that this idea is overkill, but two things happen as we’re shown more and more security prompts. The decisions we make lose meaning and we get conditioned to accept everything. Second, for apps where the permission is truly important to the app’s operation, if the user does deny the privilege then they are either left with a useless app or a messy trip through the settings app. Yes, apps can choose to deep link people into Settings, but even so, it can turn a pleasant on boarding experience into a chore.

The downside, of course, is consistency. If the operating system stops asking for user permission for some apps, will people assume every app can do everything again? Default permissions could be listed on App Store listings. However, most people don’t read that kind of information.

I don’t expect Apple to make major changes to the permission prompt system, especially with the tweak to screen recording permission frequency coming in macOS 15.1. That said, it’s an interesting discussion point, and I hope they keep iterating on how it works, and that ideas like this are considered.

Dave Verwer

Master Test Distribution & App Releases Amid App Center’s Shutdown

Join Bitrise for a webinar to navigate the sunsetting of Microsoft’s Visual Studio App Center. Learn how to transition smoothly to alternative platforms, optimize test and store distributions, and prepare for the future of mobile app releases. Plus, get a sneak peek of Bitrise’s new tool designed to simplify your distribution workflows. Save your seat here.

News

Trader status in the European Union

If you’ve been dutifully ignoring Apple’s reminder emails about setting your “trader status” in App Store Connect, you can no longer submit app updates as of today. If you continue to delay doing it, your apps will be removed from the App Store in EU countries in February next year.

Apple has some information on what it all means if you’re struggling. It’s still not simple, though, so be prepared to read that page several times.


Push Notification service server certificate update

This isn’t urgent yet, but if you send push notifications from your app then you’ll need to update this before next January. That’s only three months away, if you needed a scare! 👻

Code

Beware UserDefaults: a tale of hard to find bugs, and lost data

If you’ve ever noticed UserDefaults data appearing to reset to default values, you’ll want to read this article from Christian Selig. You may then also want to check out this article on a new package he created to solve the issue, TinyStorage.


Migrating Combine to AsyncAlgorithms

Combine isn’t (yet?) deprecated, but it’s clearly not what Apple is investing in. Jacob Bartlett even mentions that it hasn’t seen any updates since 2021, more than three years ago. It’s important to note that you don’t need to stop using it, but if you want to migrate to something based on Swift concurrency, you might want to read this article.


Reinventing Core Data with SwiftData Principles

I wouldn’t necessarily take this article from Fatbobman as advice on what data persistence framework to use. It’s also not an exaggerated and reactionary rant about SwiftData, but it is a story of why he’s going back to Core Data. It’s a very lengthy look at approaches to data persistence and is worth a read.


Create ZIP files in Swift without third-party dependencies

Did you know that iOS has built-in support for zipping files? I didn’t either, but Oleg Dreyman lays out how to do it in this article. It’s not only available on iOS, either. The documentation specifies that it works across all Apple platforms. There are some things you should know about the API, so read the article, but this might save you a dependency.

Jobs

Senior iOS Developer @ komoot – You’ll team up with six world-class iOS engineers, take over full responsibility for our iOS app, and develop diverse features for navigation, routing, social interaction, and content visualization that will make your work challenging and fun. – Remote (within European timezones)

And finally...

I was left with a series of “What if’s” ❤️