Я пытаюсь добавить новый контакт в адресную книгу iPhone
, используя ABAddressBook
. Добавление имени/фамилии отлично работает, но я получаю ошибки, когда пытаюсь добавить страну, улицу, город и т. Д. Я получаю сообщение об ошибке, когда использую или kABPersonAddressCountryKey
.Как добавить свойства адреса в адресную книгу?
func addUserToAddressBook(){
let stat = ABAddressBookGetAuthorizationStatus()
switch stat {
case .Denied, .Restricted:
print("no access to addressbook")
case .Authorized, .NotDetermined:
var err : Unmanaged<CFError>? = nil
let adbk : ABAddressBook? = ABAddressBookCreateWithOptions(nil, &err).takeRetainedValue()
if adbk == nil {
print(err)
return
}
ABAddressBookRequestAccessWithCompletion(adbk) {
(granted:Bool, err:CFError!) in
if granted {
let newContact:ABRecordRef! = ABPersonCreate().takeRetainedValue()
var success:Bool = false
//Updated to work in Xcode 6.1
var error: Unmanaged<CFErrorRef>? = nil
success = ABRecordSetValue(newContact, kABPersonFirstNameProperty, self.userFirstName. , &error)
print("Setting first name was successful? \(success)")
success = ABRecordSetValue(newContact, kABPersonLastNameProperty, self.user.LastName, &error)
print("Setting last name was successful? \(success)")
// Address??????
success = ABRecordSetValue(newContact, kABPersonAddressCountryCodeKey, self.user.CountryCode, &error) // self.user.CountryCode = "CN" - Receive an error
success = ABAddressBookAddRecord(adbk, newContact, &error)
print("Contact added successful? \(success)")
success = ABAddressBookSave(adbk, &error)
print("Saving addressbook successful? \(success)")
} else {
print(err)
}
}
}
}
Кто-нибудь знает, как я могу исправить эту проблему?