Get the latest tech news

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


Excuse the alarmist title, but I think it’s justified, as it’s an issue that’s caused me a ton of pain in both support emails and actually tracking it down, so I want to make others aware of it so they don’t similarly burned. Brief intro For the uninitiated, UserDefaults (née NSUserDefaults) is the de facto iOS standard for persisting non-sensitive, non-massive data to “disk” (AKA offline). In other words, are you storing some user preferences, maybe your user’s favorite ice cream flavors?

October 5, 2024 Excuse the alarmist title, but I think it’s justified, as it’s an issue that’s caused me a ton of pain in both support emails and actually tracking it down, so I want to make others aware of it so they don’t similarly burned. It turns out, even though Apple’s prewarming documentation states otherwise, developers have been reporting for years that that’s just wrong, and your app can effectively be fully launched at any time, including before the device is even unlocked. Maybe this is super obvious to you, but I’ve talked to enough developers where it wasn’t, that I hope in writing this it can save you the many, many hours I spent trying to figure out why once in a blue moon a user would be logged out, or their app state would look like it reset, or worst of all: they lost data.

Get the Android app

Or read this on r/apple

Read more on:

Photo of data

data

Photo of Bugs

Bugs

Photo of Tale

Tale

Related news:

News photo

Data Breach Snags Personal Information Of Over 200k Comcast Subscribers

News photo

MoneyGram says hackers stole customers’ personal information and transaction data

News photo

Apple Fixes Bugs in macOS Sequoia That Broke Some Cybersecurity Tools