UserDefaults & Keychain
UserDefaults, Keychain Services, stockage sécurisé, données sensibles, best practices
1Qu'est-ce que UserDefaults en iOS ?
Qu'est-ce que UserDefaults en iOS ?
Réponse
UserDefaults est un système de stockage simple pour persister des données non sensibles comme les préférences utilisateur. Les données sont stockées en format plist sur le disque et accessibles facilement. Cependant, les données ne sont pas chiffrées, donc il ne faut jamais y stocker d'informations sensibles comme les mots de passe ou tokens d'authentification.
2Qu'est-ce que Keychain Services en iOS ?
Qu'est-ce que Keychain Services en iOS ?
Réponse
Keychain Services est une API de sécurité qui permet de stocker des données sensibles de manière chiffrée et sécurisée. Elle utilise le Secure Enclave sur les appareils modernes pour protéger les données. Keychain est l'approche recommandée pour stocker les mots de passe, tokens, certificats et autres informations critiques pour la sécurité de l'application.
3Comment accéder à l'instance standard de UserDefaults ?
Comment accéder à l'instance standard de UserDefaults ?
Réponse
UserDefaults.standard est la méthode standard pour accéder à l'instance par défaut partagée dans toute l'application. Cette instance persiste les données sur le disque automatiquement. Il est possible de créer des instances nommées avec init(suiteName:) pour partager des données entre une app et ses extensions via App Groups, mais UserDefaults.standard couvre la plupart des cas d'usage simples. Éviter de créer plusieurs instances standard car cela peut causer des incohérences de données.
Quels types de données UserDefaults peut-il stocker directement ?
Quand est-il approprié d'utiliser UserDefaults plutôt que Keychain ?
+17 questions d'entretien
Autres sujets d'entretien iOS
Les bases de Swift
Essentiels du langage Swift
Fondamentaux UIKit
Cycle de vie UIViewController
Cycle de vie de l'application
Auto Layout & Constraints
UITableView & UICollectionView
Les bases de SwiftUI
Gestion d'état SwiftUI
Navigation SwiftUI
Networking & URLSession
Codable & Parsing JSON
Core Data
Programmation orientée protocoles
Architecture MVVM
Notifications Push
Tests unitaires & XCTest
Tests d'interface utilisateur
Xcode & Système de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Performance Optimization
Security & Encryption
SwiftUI Advanced
iOS Application Architecture
Maîtrise iOS pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement