Ich habe eine API, die Telefonnummern im Format zurückgibt: + 1415xxxxxxx (E164)Swift Kontakte verwenden Framework Suche Telefonnummer mit Name und User Image bekommen
Gerade jetzt diese Zahlen eine Zelle eines UITableView setzen in und werden wie erwartet präsentiert, aber ich möchte in der Lage sein, die Kontakte des Benutzers auf dem Telefon zu suchen, um zu sehen, ob es eine Übereinstimmung gibt - wenn ja, auch den Vornamen, den Nachnamen und das bekannte Foto zurückgeben.
Mit Blick auf den Apple-Seiten (https://developer.apple.com/library/watchos/documentation/Contacts/Reference/Contacts_Framework/index.html) Ich
brauchenimport ContactsUI
aber dann unsicher Im, lade ich die KontakteDB in ein Wörterbuch und dann danach suchen? Ich kann viele Dinge auf der Suche über Namen und weniger auf der Suche über Nummer finden:
let predicate = CNContact.predicateForContactsMatchingName("Sam")
Im Versuch, auf eine Funktion zu erhalten, die ich anrufen kann, die die Phonesucht mit und gibt mir die Firstfamily zurück und Bild.
func searchForContactUsingNumber(PhoneNumber: String)
{
// Search Via phoneNumber
let store = CNContactStore()
let contacts = try store.unifiedContactsMatchingPredicate(CNContact.predicateForContactsMatchingPhoneNumber(PhoneNumber), keysToFetch:[CNContactGivenNameKey, CNContactFamilyNameKey,CNContactImageData])
return FirstName, GivenName,UIImage
}
Ich habe das Gefühl, dass ich rückwärts renne, aber nicht sicher, welcher Weg nach vorne geht. Irgendwelche Ideen?
Was passiert, wenn Sie Ihren Code ausprobieren? Welche Fehler haben Sie und was funktioniert nicht? –
Der Code stimmt überhaupt nicht, ich denke nicht, dass es ein CNContact.predicateForContactsMatchingPhoneNumber gibt, ich habe gerade Name angepasst, um zu illustrieren, was ich versuche zu bekommen. –
Es scheint kein Prädikat zu sein, mit dem Sie eine Telefonnummer weitergeben und einen Kontakt zurückgeben können. Wahrscheinlich, weil dies eine neue API ist. Ich habe einen Code geschrieben, der eine Liste von Kontaktbezeichnern zurückgibt, die mit einer Telefonnummer übereinstimmen, mit der Sie dann einen Kontakt zurückgeben können. Ist das von Interesse? –