Ios 通过ABAddressBookCreate访问通讯簿
我正在尝试访问通讯簿:Ios 通过ABAddressBookCreate访问通讯簿,ios,swift,Ios,Swift,我正在尝试访问通讯簿: var addressBook = ABAddressBookCreate() as! ABAddressBook! if addressBook == nil { print("addressBook not available") return } var allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook) var noOfPeople = ABAddressBookGetPersonC
var addressBook = ABAddressBookCreate() as! ABAddressBook!
if addressBook == nil {
print("addressBook not available")
return
}
var allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook)
var noOfPeople = ABAddressBookGetPersonCount(addressBook)
但我的代码总是死机
var allPeople=abAddressBookCopyArrayFallPeople(地址簿)
控制台中没有任何错误
正确的方法是什么
谢谢你1:确保你在plist中设置了
隐私-联系人使用说明
2:当你尝试访问通讯录时,你需要有权限,下面是示例代码
let addressStatus: ABAuthorizationStatus = ABAddressBookGetAuthorizationStatus()
if addressStatus == ABAuthorizationStatus.notDetermined {
let addressBook: ABAddressBook? = ABAddressBookCreate().takeRetainedValue()
if let addressBookRef = addressBook {
ABAddressBookRequestAccessWithCompletion(addressBookRef, { (granted, error) in
if granted {
//read address book
} else {
//do something without grant, toast or alert
}
})
} else {
//fail
}
} else if addressStatus == ABAuthorizationStatus.authorized {
//already have the authority
let addressBook: ABAddressBook? = ABAddressBookCreate().takeRetainedValue()
if let addressBookRef = addressBook {
//read address book
} else {
//fail
}
} else {
//no authority
}