Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SwiftUI: Open CNContactViewController from NavigationView?

I'm trying to open CNContactViewController for creating a new contact from a NavigationView. So far this is what I've tried and failed:

  1. Added a navigation bar item and set the destination
        .navigationBarItems(trailing:
            NavigationLink(destination: self.addContact()) {
                Text("Add")
            }
        )
  1. addContact function returns the new view
    func addContact() -> CNContactViewController {
        let con = CNContact()
        let vc = CNContactViewController(forNewContact: con)
        return vc
    }

Unfortunately this doesn't seem to be working. I'm pretty new to iOS and SwiftUI and I'm not sure if this is the way to do it, any help would be appreciated!

like image 725
Arjun Komath Avatar asked Nov 25 '25 06:11

Arjun Komath


1 Answers

You must embed CNContactViewController in a UIViewControllerRepresentable.

Here's the Apple documentation.

And, here's a non-Apple article about it.

Because you're new to iOS, please be aware that SwiftUI is far from finished and fully documented. And that SwiftUI only runs on the newest iOS 13, so not all your potential app users may (already) have that iOS version installed.

like image 185
meaning-matters Avatar answered Nov 28 '25 01:11

meaning-matters



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!