2015-09-25 13 views
6

Nella versione precedente di Swift, sono riuscito a ottenere la data di creazione di un contatto nel telefono utilizzando lo kABPersonCreationDateProperty proveniente dal framework AddressBook.Data di aggiunta di un contatto alla rubrica in Swift 2, iOS 9

Ora che Apple ha migrato al quadro Contacts, non vedo un modo per recuperare la data di un contatto è stato creato nel loro Documentation

Come posso recuperare la data di un contatto è stato creato nel Swift 2? Il codice di esempio sarebbe molto apprezzato :)

+0

Provare a utilizzare 'kABPersonCreationDateProperty' mi dà un avvertimento:' kABPersonCreationDateProperty è stato deprecato in iOS 9.0' e se provo a eseguire il codice comunque si finisce con un errore di run-time – Sami

+0

Hai trovato una soluzione per questo? – Harsh

+0

@harsh sfortunatamente no – Sami

risposta

0

So che questo è vecchio, ma nel caso qualcuno ne abbia bisogno, ho usato il vecchio stile. Non esiste un modo ovvio per registrare la data di creazione di un contatto, ma questa tecnica elude inizialmente il framework, per recuperare con il fuso orario corrente con NSDate quindi convertirlo in una stringa e infine assegnarlo a CNContactDatesKey - che è l'unico disponibile CNContactsLabel che consente categoricamente l'assegnazione delle date di non compleanno/anniversario.

 let exampleContact = CNContact() 

     let currentDate = NSDate() 
     let dateFormatter = NSDateFormatter() 
     dateFormatter.dateStyle = NSDateFormatterStyle.FullStyle 
     let finalConvertedDate = dateFormatter.stringFromDate(currentDate) 
     exampleContact.setValue(finalConvertedDate, forKey: CNContactDatesKey) 

... Poi, più tardi, quando è necessario farne richiesta, devi iniziare con il processo di seguito:

 let request = CNContactFetchRequest(keysToFetch: [CNContactIdentifierKey, CNContactDatesKey]) 

Qualsiasi ingresso è accolto favorevolmente.