Que fait contacts-framework ?
Lire, créer, mettre à jour et sélectionner des contacts avec les frameworks Contacts et ContactsUI. Utilisez-le pour récupérer des données de contact, enregistrer de nouveaux contacts, intégrer CNContactPickerViewController dans SwiftUI, gérer les autorisations d'accès aux contacts ou manipuler des requêtes de récupération et d'enregistrement avec CNContactStore.
Utilisation
Ce skill vous aide à :
- Récupérer des contacts : utiliser
CNContactStoreetCNContactFetchRequestpour obtenir des contacts filtrés ou complets. - Créer et mettre à jour : sauvegarder de nouveaux contacts via
CNSaveRequest. - Sélectionner des contacts : intégrer
CNContactPickerViewControllerdans une interface SwiftUI. - Gérer les autorisations : vérifier et demander l'accès au carnet d'adresses via
CNContactStore.requestAccess(for:).
Exemple de code
import Contacts
import ContactsUI
// Vérifier l'autorisation
let store = CNContactStore()
store.requestAccess(for: .contacts) { granted, error in
if granted {
// Récupérer les contacts
let keys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactEmailAddressesKey]
let request = CNContactFetchRequest(keysToFetch: keys as [CNKeyDescriptor])
do {
try store.enumerateContacts(with: request) { contact, stop in
print("Contact: \(contact.givenName) \(contact.familyName)")
}
} catch {
print("Erreur de récupération: \(error)")
}
}
}
Bonnes pratiques
- Utilisez toujours des clés de prédicat (
CNKeyDescriptor) pour limiter les champs récupérés et améliorer les performances. - Gérez les erreurs de permission et les cas où l'utilisateur refuse l'accès.
- Pour
CNContactPickerViewController, utilisez unUIViewControllerRepresentabledans SwiftUI.
Compatibilité
- Plateformes : iOS 9+, macOS 10.11+
- Langage : Swift 5.x
- Dépendances : Frameworks natifs
ContactsetContactsUI