本文为swift代码,且AddressBook于ios9被废除了,ios9或以上请了解contact
首先引入模块
import AddressBook
定义
var ab:ABAddressBookRef?
获取
<span style="white-space:pre"> </span>let sysAddressBookStatus = ABAddressBookGetAuthorizationStatus()
if (sysAddressBookStatus == ABAuthorizationStatus.NotDetermined) {
print("requesting access...")
var errorRef:Unmanaged<CFError>? = nil
//addressBook = extractABAddressBookRef(ABAddressBookCreateWithOptions(nil, &errorRef))
ABAddressBookRequestAccessWithCompletion(addressBook, { success, error in
if success {
//获取并遍历所有联系人记录
self.readRecords();
}
else {
print("error")
}
})
}
else if (sysAddressBookStatus == ABAuthorizationStatus.Denied ||
sysAddressBookStatus == ABAuthorizationStatus.Restricted) {
print("access denied")
}
else if (sysAddressBookStatus == ABAuthorizationStatus.Authorized) {
print("access granted")
//获取并遍历所有联系人记录
self.readRecords();
}*/
遍历显示通讯录
func readRecords(){
let sysContacts:NSArray = ABAddressBookCopyArrayOfAllPeople(addressBook)
.takeRetainedValue() as NSArray
for contact in sysContacts {
//获取姓
let lastName = ABRecordCopyValue(contact, kABPersonLastNameProperty)?
.takeRetainedValue() as! String? ?? ""
print("姓:\(lastName)")
//获取名
let firstName = ABRecordCopyValue(contact, kABPersonFirstNameProperty)?
.takeRetainedValue() as! String? ?? ""
print("名:\(firstName)")
}
}