Salvar o endereço do contato nos resultados do contato unificado (erro 500 CNErrorDomain)

Há um erro estranho no meu aplicativo que não consigo encontrar soluções / correções para. Por alguma razão, sou capaz de salvar um endereço em um contato que não é unificado a um perfil social (Facebook, Twitter, etc.). No entanto, quando tento adicionar um endereço para meu contato unificado com o Facebook ou o Twitter, recebo um erro estranho de salvar:

The operation couldn’t be completed. (CNErrorDomain error 500.)

Aqui está um pouco do código que estou usando:

    if mutableContact.isKeyAvailable(CNContactPostalAddressesKey) {
        var postalAddresses = [CNLabeledValue<CNPostalAddress>]()

        for address in self.contactAddresses {
            let postalAddress: CNLabeledValue<CNPostalAddress> = CNLabeledValue(label: CNLabelOther, value: address)
            postalAddresses.append(postalAddress)
        }

        mutableContact.postalAddresses = postalAddresses
    }

    let saveRequest = CNSaveRequest()

    if isNewContact {
        saveRequest.add(mutableContact, toContainerWithIdentifier: nil)
    } else {
        saveRequest.update(mutableContact)
    }

    do {
        try contactStore.execute(saveRequest)
    } catch let error as NSError {
        print(error.localizedDescription)
        let alertController = UIAlertController(title: "Failed to save/update contact!", message: "Unfortunatly, the app couldn't add or make modifications to your contact. Please try again or use the Contacts app to preform changes.", preferredStyle: .alert)
        let cancelAction = UIAlertAction(title: "Okay", style: .cancel) {
            action in
            self.dismiss(animated: true, completion: nil)
        }
        alertController.addAction(cancelAction)
        self.present(alertController, animated: true, completion: nil)
    }

questionAnswers(2)

yourAnswerToTheQuestion