2015-09-25 14 views
6

Trong phiên bản trước của Swift, tôi có thể nhận được ngày một số liên lạc được tạo trong điện thoại bằng cách sử dụng kABPersonCreationDateProperty đến từ khung AddressBook.Bắt ngày một số liên lạc được thêm vào sổ địa chỉ trong Swift 2, iOS 9

Bây giờ mà Apple đã di cư đến khuôn khổ Contacts, tôi không thấy một cách để lấy lại ngày một số liên lạc đã được tạo ra trong họ Documentation

Làm thế nào tôi có thể lấy ngày một số liên lạc đã được tạo ra trong Swift 2? Mã mẫu sẽ được đánh giá cao :)

+0

Cố gắng sử dụng 'kABPersonCreationDateProperty' cho tôi một cảnh báo:' kABPersonCreationDateProperty không được chấp nhận trong iOS 9.0' và nếu tôi cố chạy mã anyways, tôi kết thúc bằng lỗi thời gian chạy – Sami

+0

Bạn có tìm giải pháp cho điều này không? – Harsh

+0

@harsh tiếc là không – Sami

Trả lời

0

Tôi biết điều này là cũ, nhưng chỉ trong trường hợp bất cứ ai cần nó, tôi đã sử dụng theo cách cũ. Không có cách nào rõ ràng để ghi lại ngày tạo liên hệ nhưng kỹ thuật này phá vỡ khuôn khổ ban đầu, để lấy lại giờ địa phương hiện tại với NSDate sau đó chuyển đổi nó thành Chuỗi và cuối cùng gán cho CNContactDatesKey - đó là chỉ có sẵn CNContactsLabel cho phép phân bổ ngày sinh nhật/ngày kỷ niệm.

 let exampleContact = CNContact() 

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

... Rồi sau đó, khi bạn cần phải yêu cầu nó, bạn sẽ bắt đầu với quá trình dưới đây:

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

Bất kỳ đầu vào được hoan nghênh.

Các vấn đề liên quan