Bucket
Bucket

Reputation: 449

How to open New Contact Screen Directly?

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

Upvotes: 12

Views: 5877

Answers (4)

Murali
Murali

Reputation: 1889

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)

Upvotes: 5

Rishab
Rishab

Reputation: 1957

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)

Upvotes: 16

Himanshu
Himanshu

Reputation: 2842

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

Upvotes: 1

Ved Rauniyar
Ved Rauniyar

Reputation: 1589

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

Upvotes: 0

Related Questions