2015-09-25 15 views
6

In der vorherigen Version von Swift konnte ich das Datum ermitteln, an dem ein Kontakt im Telefon erstellt wurde, mit der kABPersonCreationDateProperty, die aus dem AddressBook Framework stammt.Das Datum, an dem ein Kontakt zum Adressbuch hinzugefügt wurde in Swift 2, iOS 9

nun, dass Apple auf den Contacts Rahmen gewandert ist, sehe ich nicht einen Weg, um das Datum ein Kontakt in ihr Documentation

Wie kann ich das Datum ein Kontakt in Swift erstellt wurde 2 abrufen erstellt abgerufen wurde? Beispielcode würde sehr geschätzt werden :)

+0

Der Versuch, 'kABPersonCreationDateProperty' zu verwenden, gibt mir eine Warnung:' kABPersonCreationDateProperty war in iOS 9.0 veraltet' und wenn ich versuche, den Code trotzdem auszuführen, habe ich einen Laufzeitfehler – Sami

+0

Haben Sie eine Lösung dafür gefunden? – Harsh

+0

@harsh leider nicht – Sami

Antwort

0

Ich weiß, das ist alt, aber nur für den Fall, dass jemand es braucht, habe ich die altmodische Art und Weise verwendet. Es gibt keine naheliegende Methode, das Datum aufzuzeichnen, an dem ein Kontakt erstellt wird, aber diese Technik umgeht das Framework zunächst, um mit der aktuellen Gebietsschemazeit mit NSDate dann in einen String zu konvertieren und schließlich zu CNContactDatesKey zuzuweisen - was das einzige ist verfügbares CNContactsLabel, das kategorisch die Zuweisung von Nicht-Geburtstags-/Jahrestagdaten zulässt.

 let exampleContact = CNContact() 

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

... Dann später, wenn Sie es verlangen müssen, dann würden Sie mit dem unten beginnen:

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

Jeder Eingang begrüßt.

Verwandte Themen