Hallo,
ich versuche gerade alle Datensätze aus meinem Adressbuch auszulesen. Aber irgendwie erhalte ich nicht alle Daten eines Datensatzes.
Obiger Code liefert mir nachfolgendes Ergebnis (wurde zugunsten der Übersicht gekürzt):
Fetched contacts: [
<CNContact: 0x...: identifier=...:ABPerson, givenName=John, familyName=Do, organizationName=(not fetched), phoneNumbers=(not fetched), ...>,
<CNContact: 0x...: identifier=...:ABPerson, givenName=Jane, familyName=Do, organizationName=(not fetched), phoneNumbers=(not fetched), ...>]
Folgende Daten eines Datensatzes benötige ich unbedingt:
- Firmennamen (wird nicht ausgeliefert)
- Vornamen (wird geliefert)
- Nachnamen (wird geliefert)
- usw.
Wie muss ich Zeile 2 keysToFetch = [.....] as ... ändern, damit ich nicht alle Attribute einzeln eintragen muss und warum erhalte ich den Firmennamen trotz expliziter Angabe nicht?
Wäre prima wenn mir jemand mitteilen kann, was ich da außer Acht lasse.
ich versuche gerade alle Datensätze aus meinem Adressbuch auszulesen. Aber irgendwie erhalte ich nicht alle Daten eines Datensatzes.
Quellcode
- ...
- let keysToFetch = [CNContactOrganizationNameKey, CNContactGivenNameKey, CNContactFamilyNameKey] as [CNKeyDescriptor]
- let storeCall = CNContactStore()
- do {
- let contacts = try storeCall.unifiedContacts(matching: predicate, keysToFetch: keysToFetch)
- print("Fetched contacts: \(contacts)")
- } catch {
- print("Failed to fetch contact, error: \(error)")
- }
Fetched contacts: [
<CNContact: 0x...: identifier=...:ABPerson, givenName=John, familyName=Do, organizationName=(not fetched), phoneNumbers=(not fetched), ...>,
<CNContact: 0x...: identifier=...:ABPerson, givenName=Jane, familyName=Do, organizationName=(not fetched), phoneNumbers=(not fetched), ...>]
Folgende Daten eines Datensatzes benötige ich unbedingt:
- Firmennamen (wird nicht ausgeliefert)
- Vornamen (wird geliefert)
- Nachnamen (wird geliefert)
- usw.
Wie muss ich Zeile 2 keysToFetch = [.....] as ... ändern, damit ich nicht alle Attribute einzeln eintragen muss und warum erhalte ich den Firmennamen trotz expliziter Angabe nicht?
Wäre prima wenn mir jemand mitteilen kann, was ich da außer Acht lasse.
