Kapitel 19. Kontakte
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Die Kontakte des Nutzers bilden eine Datenbank. Der Nutzer kann mit dieser Datenbank über die Kontakte-App interagieren. Dein Code kann über das Contacts-Framework programmatisch auf die Kontaktdatenbank des Nutzers zugreifen. Dazu brauchst du import Contacts
. Das Contacts UI-Framework bietet eine ähnliche Schnittstelle wie die Contacts-App, über die der Nutzer aus deiner App heraus mit der Kontaktdatenbank interagieren kann. Dazu musst du import ContactsUI
aufrufen.
Der Zugriff auf die Kontaktdatenbank erfordert eine Benutzerberechtigung. Hierfür verwendest du die Klasse CNContactStore. Um den aktuellen Autorisierungsstatus zu erfahren, rufst du die Klassenmethode authorizationStatus(for:)
mit einem CNEntityType von .contacts
auf. (Das ist eine merkwürdige Anforderung, denn .contacts
ist der einzige CNEntityType!) Um das System aufzufordern, die Autorisierungsanfrage zu stellen, wenn der Status .notDetermined
ist, rufst du die Instanzmethode requestAccess(for:completionHandler:)
auf. Die Info.plist muss einen aussagekräftigen Text enthalten, mit dem das System erklären kann, warum deine App Zugriff haben will. Der relevante Schlüssel ist "Privacy - Contacts Usage Description" (NSContactsUsageDescription
). Unter "Überprüfung der Berechtigung" findest du eine Diskussion über die Berechtigungsstrategie.
Kontakt Klassen
Hier sind ...
Get Programmierung iOS 14 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.