¿Cómo eliminar el logging en la libreta de direcciones del iPhone usando ABAddressBook?

Estaba aprendiendo el marco de la libreta de direcciones y luego quería eliminar el logging del libro de contactos del iPhone. ABAddressBookRemoveRecord la documentation y encontré una function llamada ABAddressBookRemoveRecord , pero no puedo encontrar una manera de eliminar los loggings, como que el usuario seleccionará un logging y luego presionará el button Eliminar y luego se borrará el logging.

Todo lo que hice hasta ahora me golpeó la cabeza con la documentation y eso es todo.

¿Me puede proporcionar un enlace o un ejemplo de cómo eliminar un logging en la libreta de direcciones?

¡Gracias!

Echa un vistazo a la categoría ABPersonViewController + Delete que permite la eliminación de contactos sin utilizar ningún método privado:

https://github.com/shrtlist/ABDelete

Cuando elimine un logging por ABAddressBookRemoveRecord , debería save el resultado final mediante ABAddressBookSave . Si desea que UIInterface elimine el logging, creo que debe implementarlo usted mismo. Las interfaces de usuario sobre los contactos proporcionados por Apple se encuentran dentro del ABAddressBookUI framework .

Código objective C:

 ABAddressBookRef addressBook; CFErrorRef error = NULL; addressBook = ABAddressBookCreate(); ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook,<YOUR 'PERSON' GOES HERE>); ABAddressBookRemoveRecord(addressBook, (ABRecordRef)person, &error ); if(error !=NULL) { // Handle success } ABAddressBookSave(addressBook, NULL); 

Código SWIFT:

 var emptyDictionary: CFDictionaryRef? var addressBookRef: ABAddressBookRef? var err: Unmanaged<CFErrorRef>? = nil var userRecord: ABRecordRef? addressBookRef = ABAddressBookCreateWithOptions(emptyDictionary, &err)?.takeRetainedValue() userRecord = ABAddressBookGetPersonWithRecordID(addressBookRef, "Record ID of User").takeUnretainedValue() ABAddressBookRemoveRecord(addressBookRef, userRecord, &err) if err != nil { // Handle success } // Save Address Book changes if ABAddressBookHasUnsavedChanges(addressBookRef){ var err: Unmanaged<CFErrorRef>? = nil let savedToAddressBook = ABAddressBookSave(addressBookRef, &err) if savedToAddressBook { print("Successully saved changes.") } else { print("Couldn't save changes.") } } else { print("No changes occurnetworking.") }