Reputation: 449
Can any one please guide me ? Is it possible to open contact screen programmatically in iOS (swift)
Upvotes: 12
Views: 5877
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
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
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
Reputation: 1589
It is not possible to open new contact list but you can open contact list and select add new contact.
Upvotes: 0