Đối iOS9, thu thập thông tin người dùng tiếp xúc cá nhân qua Contact Framework
Các hệ framework cung cấp một Objective-C và Swift API để truy cập thông tin liên lạc của người dùng.
Thay ABAdressBook
khung này có sẵn trên tất cả các nền tảng của Apple và thay thế Address Book khuôn khổ trong iOS và OS X.
Cụ thể, CNContact
Các CNContact là một lớp thread-an toàn đại diện cho một bất biến đối tượng giá trị cho các thuộc tính liên hệ, chẳng hạn như tên và số điện thoại số của một số liên lạc.
Liên hệ Tìm nạp các
Bạn có thể lấy địa chỉ liên lạc sử dụng các cửa hàng liên lạc (CNContactStore), mà đại diện cho địa chỉ liên lạc của người sử dụng cơ sở dữ liệu
Tìm kiếm của người sử dụng hệ cơ sở dữ liệu (mới trong iOS 9.0)
tên trứng, tên gia đình, ngày sinh, số điện thoại và mo lại.
let store = CNContactStore()
let contacts = try store.unifiedContactsMatchingPredicate(CNContact.predicateForContactsMatchingName("Appleseed"), keysToFetch:[CNContactGivenNameKey, CNContactFamilyNameKey])
let contact = contacts!.first //assuming contain at least one contact
// Checking if phone number is available for the given contact.
if (contact.isKeyAvailable(CNContactPhoneNumbersKey)) {
print("\(contact.givenName) \(contact.familyName)")
} else {
//Refetch the keys
let keysToFetch = [CNContactGivenNameKey, CNContactFamilyNameKey]
let refetchedContact = try store.unifiedContactWithIdentifier(contact.identifier, keysToFetch: keysToFetch)
print("\(refetchedContact.givenName) \(refetchedContact.familyName)")
}
Tìm kiếm Current User Info
if let personInfo:CNContact = CKDiscoveredUserInfo.displayContact{
println("first name: \(personInfo.givenName) last name: \(personInfo.familyName) ") }
Tốt câu hỏi. Tôi đề nghị đợi phiên trên CloudKit trong tuần này ở WWDC để nghe về những thay đổi và ý nghĩa của chúng. – harryhorn