Автор статьи “Остерегайтесь UserDefaults” открыл прекрасное. Оказывается, iOS иногда шифрует данные в UserDefaults (как она решает что шифровать я так и не понял, но не суть). А расшифровать их можно только когда пользователь разблокировал устройство. Учитывая Live Activity на экране блокировки и предварительный разогрев приложений получаем превосходную коллизию, когда UserDefaults не может выполнять то, собственно для чего создавалась:
Суть UserDefaults в том, что он должен надежно хранить простые, нечувствительные данные, чтобы к ним можно было обратиться в любой момент. Тот факт, что теперь эта ситуация кардинально изменилась, и что ваше приложение может быть запущено фактически в любое время, делает ситуацию невероятно запутанной, опасной и трудной для отладки.
Но все не так плохо — автор написал библиотеку для хранения данных.
Разработка
Маркетинг
Кроссплатформа
- Рецензия на книгу “Flutter и Dart. Сборник рецептов: Разработка полнофункциональных облачных приложений”
- Customizable Calendar Widget with Flutter: flutter_custom_calendar
iOS
- Остерегайтесь UserDefaults: история о труднопонимаемых ошибках и потерянных данных
- Пишите на Swift как Apple
- DevTutor for SwiftUI — примеры SwiftUI
- Applying visual effects combined with scrolling in SwiftUI
- How to listen for property changes in an @Observable class using AsyncStreams
- Mastering Swift’s RunLoop: A Comprehensive Guide
- Mastering container views in SwiftUI. Values.
- Swift Memory: Handle with Care! A Fun Dive into Advanced iOS Memory Management
Android
- Android 16 может позволить вам поместить любое приложение в плавающий пузырь
- Selenoid на Android – от А до Я
- Авто-трекинг производительности Room Database
- How to Create a Pulse Effect in Jetpack Compose
- The day we (almost) lost 1,000 customers
- Bypassing Multiple Checks on Android Applications: A Security Researcher’s Experience