Я знаю, что это было предложено много, но я изо всех сил, чтобы найти полное решение и мало я нахожу в Objective CПолучение контактных имен и телефонных номеров в Swift
мне удалось получить это далеко
public static func refreshContacts(){
let status = ABAddressBookGetAuthorizationStatus()
if status == .Denied || status == .Restricted {
// user previously denied, to tell them to fix that in settings
return
}
// open it
var error: Unmanaged<CFError>?
let addressBook: ABAddressBook? = ABAddressBookCreateWithOptions(nil, &error)?.takeRetainedValue()
if addressBook == nil {
println(error?.takeRetainedValue())
return
}
// request permission to use it
ABAddressBookRequestAccessWithCompletion(addressBook) {
granted, error in
if !granted {
// warn the user that because they just denied permission, this functionality won't work
// also let them know that they have to fix this in settings
return
}
if let people = ABAddressBookCopyArrayOfAllPeople(addressBook)?.takeRetainedValue() as? NSArray {
for person in people{
var name = //??????
var phoneumber = //??????
}
}
}
}
Если вы читаете комментарий, вы можете видеть, что есть одна точка, в которой я не слишком уверен, что делать Как я могу получить имя и номер телефона?
Так что вам нужно - пример кода? Вот некоторые из них: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch18p713addressBook/ch31p973addressBook/ViewController.swift. Но имейте в виду, что это Swift 1.2 и iOS 8. В iOS 9 все это жаль наконец, будут удалены. – matt
@matt спасибо доброта. Это очень плохо, рамки. Есть ли у вас какие-либо ios9-примеры? Также exmalple вы опубликовали не имеет номера телефонов –
Я показываю вам пример. Подумайте об этом и научитесь этому. Мне платят дополнительно, если вы хотите, чтобы я написал _your_ код _for_ вас! :) – matt