How to open New Contact Screen Directly?

5.6k Views Asked by At

enter image description here Can any one please guide me ? Is it possible to open contact screen programmatically in iOS (swift)

4

There are 4 best solutions below

2
On BEST ANSWER

Try this below code. I think I am getting what you are looking for.

    let con = CNContact()
    let vc = CNContactViewController(forNewContact: con)
    _ = self.navigationController?.pushViewController(vc, animated: true)
1
On

It is not possible to open new contact list but you can open contact list and select add new contact.

2
On

Till iOS 10.3.1 there is no public api to open contacts screen directly to add new contact. You can use ContactsUI framework to open contacts within your application and then from that contact screen add new Contact.

For reference :-

https://developer.apple.com/reference/contactsui

1
On

Its possible to open this screen directly with some pre populated fields. No need of any workarounds.

let contact = CNMutableContact()
let homePhone = CNLabeledValue(label: CNLabelHome, value: CNPhoneNumber(stringValue :"number goes here"))
contact.phoneNumbers = [homePhone]
contact.imageData = data // Set image data here
let vc = CNContactViewController(forNewContact: contact)
vc.delegate = self
let nav = UINavigationController(rootViewController: vc)
self.present(nav, animated: true, completion: nil)