我正在嘗試使用ABAddressBook
將新聯繫人添加到iPhone
地址簿中。添加名/姓可正常工作,但當我嘗試添加國家,街道,城市等時出現錯誤。使用kABPersonAddressCountryCodeKey
或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)
}
}
}
}
有誰知道我該如何解決這個問題?