似乎无法创建与 CNContactPickerViewController 一起使用的 UIViewControllerRepresentable。
使用 Xcode 11 beta 4,我使用其他 UIViewController 创建了许多其他 UIViewControllerRepresentable 并且这些工作正常。我尝试更改 CNContactPickerViewController 的功能和委托的不同实现。
import SwiftUI
import ContactsUI
// Minimal version
struct LookupContactVCR : UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> CNContactPickerViewController {
let contactPickerVC = CNContactPickerViewController()
contactPickerVC.delegate = context.coordinator
return contactPickerVC
}
func makeCoordinator() -> Coordinator {
return Coordinator()
}
func updateUIViewController(_ uiViewController: CNContactPickerViewController, context: Context) {}
class Coordinator: NSObject {}
}
extension LookupContactVCR.Coordinator : CNContactPickerDelegate {
func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {
print("Chose: \(contact.givenName)")
}
} …Run Code Online (Sandbox Code Playgroud)