UserDefaults & Keychain
UserDefaults, Keychain Services, almacenamiento seguro, datos sensibles, mejores prácticas
1¿Qué es UserDefaults en iOS?
¿Qué es UserDefaults en iOS?
Respuesta
UserDefaults es un sistema de almacenamiento simple para persistir datos no sensibles como las preferencias del usuario. Los datos se almacenan en formato plist en el disco y son fácilmente accesibles. Sin embargo, los datos no están cifrados, por lo que nunca se debe almacenar allí información sensible como contraseñas o tokens de autenticación.
2¿Qué es Keychain Services en iOS?
¿Qué es Keychain Services en iOS?
Respuesta
Keychain Services es una API de seguridad que permite almacenar datos sensibles de manera cifrada y segura. Utiliza el Secure Enclave en dispositivos modernos para proteger los datos. Keychain es el enfoque recomendado para almacenar contraseñas, tokens, certificados y otra información crítica para la seguridad de la aplicación.
3¿Cómo acceder a la instancia estándar de UserDefaults?
¿Cómo acceder a la instancia estándar de UserDefaults?
Respuesta
UserDefaults.standard es el método estándar para acceder a la instancia compartida por defecto en toda la aplicación. Esta instancia persiste los datos en el disco automáticamente. Es posible crear instancias con nombre usando init(suiteName:) para compartir datos entre una app y sus extensiones mediante App Groups, pero UserDefaults.standard cubre la mayoría de los casos de uso simples. Evite crear múltiples instancias estándar, ya que puede causar inconsistencias de datos.
¿Qué tipos de datos puede almacenar UserDefaults directamente?
¿Cuándo es apropiado usar UserDefaults en lugar de Keychain?
+17 preguntas de entrevista
Otros temas de entrevista iOS
Fundamentos de Swift
Fundamentos del lenguaje Swift
Fundamentos de UIKit
Ciclo de vida de UIViewController
Ciclo de vida de la aplicación
Auto Layout & Constraints
UITableView & UICollectionView
Fundamentos de SwiftUI
Gestión de estado en SwiftUI
Navegación SwiftUI
Networking & URLSession
Codable y parsing JSON
Core Data
Programación orientada a protocolos
Arquitectura MVVM
Notificaciones Push
Pruebas unitarias & XCTest
Pruebas de interfaz de usuario
Xcode y sistema de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Optimización de rendimiento
Seguridad y cifrado
SwiftUI Advanced
Arquitectura de aplicaciones iOS
Domina iOS para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis