选择联系委托方法不调用

时间:2017-03-27 13:59:56

标签: ios swift

在我的应用中,我想将str = str.replaceAll("\\D+",""); 框架用于自动填充字段。我创建了按钮,并希望在用户选择一个时获取联系人数据:

ContactsUI

并创建方法:

class MyController: UIViewController,CNContactPickerDelegate {
     var contactStore = CNContactStore()
     @IBAction func selectContact(_ sender: Any) {
        self.requestForContactAccess { (accessGranted) -> Void in
            if accessGranted {
                let contactPickerViewController = CNContactPickerViewController()

                contactPickerViewController.predicateForEnablingContact = NSPredicate(format: "birthday != nil")

                contactPickerViewController.delegate = self

                self.present(contactPickerViewController, animated: true, completion: nil)

                contactPickerViewController.displayedPropertyKeys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactEmailAddressesKey, CNContactBirthdayKey, CNContactImageDataKey]

            }
        }

    }
}

但联系人没有打印和控制器,联系人在选择后没有关闭。我做错了什么?

1 个答案:

答案 0 :(得分:0)

谢谢@Larme

如果您使用的是Swift 3:stackoverflow.com/questions/40491818 / ...?该方法的Swift 3签名是可选的func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact),您使用的是旧签名。