2015-09-21 13 views
6

a Ios 8, ho usato il codice qui sotto per stampare numero di contatto dell'utente,Come recuperare il numero del contatto in ios 9

if let contacts = ABAddressBookCopyArrayOfAllPeople(self.addressBookRef)?.takeRetainedValue() as? NSArray { 
      for record:ABRecordRef in contacts { 

       let phones:ABMultiValueRef = ABRecordCopyValue(record, kABPersonPhoneProperty).takeUnretainedValue() as ABMultiValueRef 
       for(var numberIndex : CFIndex = 0; numberIndex < ABMultiValueGetCount(phones); numberIndex++) 
       { 
        let phoneUnmaganed = ABMultiValueCopyValueAtIndex(phones, numberIndex) 
        let phoneNumber : String = phoneUnmaganed.takeUnretainedValue() as! String 

println (phoneNumber) } }

Ma Apple ha introdotto nuovo framework di contatti in iOS 9. Ora mi sono bloccato con il recupero del numero di contatto. Ho trovato un po 'di codice nel sito di Apple e in altri siti, come riportato qui di seguito, ma ancora non è esattamente la stampa solo i numeri di contatto,

contacts = try store.unifiedContactsMatchingPredicate(
       CNContact.predicateForContactsMatchingName("Siva"), 
       keysToFetch:[CNContactPhoneNumbersKey]) 
      for contact:CNContact in contacts { 
       if (contact.isKeyAvailable(CNContactPhoneNumbersKey)) { 
        for phoneNumber:CNLabeledValue in contact.phoneNumbers { 
         print(phoneNumber.value) 
        } 
       } 
+0

favore, mi aiutano a recuperare tutti i numero di contatto, –

risposta

19

Questo dovrebbe farlo.

 if (contact.isKeyAvailable(CNContactPhoneNumbersKey)) { 
      for phoneNumber:CNLabeledValue in contact.phoneNumbers { 
       let a = phoneNumber.value as! CNPhoneNumber 
       print("\(a.stringValue)") 
      } 
     } 

stampe in stile (555) 766-4823

+0

Grazie Mathias, ha funzionato per me. –

+0

store.unifiedContactsMatchingPredicate ( CNContact.predicateForContactsMatchingName ("Siva"), voglio solo recuperare tutti i contatti.Ma questa linea di codice ci aiuta a recuperare solo i dettagli di contatto di Siva.se hai qualche suggerimento? Grazie in anticipo –

+0

dovrebbe essere la risposta accettata – Simon

Problemi correlati