2015-09-25 1 views
6

В предыдущей версии Swift мне удалось получить дату, когда контакт был создан в телефоне, используя kABPersonCreationDateProperty, который исходил из рамки AddressBook.Дата получения контакта была добавлена ​​в адресную книгу в Swift 2, iOS 9

Теперь, когда Apple, мигрировал в Contacts рамки, я не вижу способ получить дату контакт был создан в их Documentation

Как я могу получить дату контакт был создан в Swift 2? Пример кода был бы очень благодарен :)

+0

Попытка использования 'kABPersonCreationDateProperty' дает мне предупреждение:' kABPersonCreationDateProperty устарел в iOS 9.0', и если я пытаюсь запустить код в любом случае, я получаю ошибку во время выполнения. – Sami

+0

Вы нашли решение для этого? – Harsh

+0

@harsh, к сожалению, нет – Sami

ответ

0

Я знаю, что это старый, но на всякий случай кому-то это нужно, я использовал старомодный способ. Нет очевидного способа записи даты создания контакта, но этот метод сначала обходит структуру, чтобы получить текущее местное время с NSDate, а затем преобразовать его в строку и, наконец, присвоить номер CNContactDatesKey, который является единственным доступный CNContactsLabel, который категорически допускает назначение даты рождения или юбилея.

 let exampleContact = CNContact() 

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

... Тогда позже, когда вам необходимо запросить его, вы бы начать с ниже процесса:

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

Любой вход приветствуется.