New Contacts Framework introduced with iOS9, saving vCard data into iPhone's contacts is much easier and simpler with Swift4.
import Contacts func saveVCardContacts (vCard : Data) { // assuming you have alreade permission to acces contacts if #available(iOS 9.0, *) { let contactStore = CNContactStore() do { let saveRequest = CNSaveRequest() // create saveRequests let contacts = try CNContactVCardSerialization.contacts(with: vCard) // get contacts array from vCard for person in contacts{ saveRequest.add(person as! CNMutableContact, toContainerWithIdentifier: nil) // add contacts to saveRequest } try contactStore.execute(saveRequest) // save to contacts } catch { print("Unable to show the new contact") // something went wrong } }else{ print("CNContact not supported.") // }}