iOS9,通过Contact Framework获取用户个人联系信息
Contacts 框架提供了一个 Objective-C 和 Swift API 来访问用户的联系信息。
替换 ABAdressBook
该框架在所有 Apple 平台上都可用,并取代了 iOS 和 OS X 中的地址簿框架。
具体来说,CNContact
CNContact 是一个线程安全的类,它表示联系人属性的不可变值对象,例如联系人的名字和电话号码。
获取联系人
您可以使用联系人存储 (CNContactStore) 获取联系人,该存储代表用户的联系人数据库
搜索用户的联系人数据库 (iOS 9.0 中的新功能)
鸡蛋姓名、姓氏、生日、电话号码等。
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)")
}
搜索当前用户信息
if let personInfo:CNContact = CKDiscoveredUserInfo.displayContact{
println("first name: \(personInfo.givenName) last name: \(personInfo.familyName) ") }