0

我有一个 OSX 应用程序,它使用 CNContactPicker 导入用户选择的单个联系人的详细信息。如果用户进入联系人选择器并使用搜索栏返回单个联系人(即列表中只有一个结果) - 无法选择此联系人。如果用户搜索返回多个联系人(即他们可以从多个联系人列表中选择一个联系人),则它工作正常。

例如:我创建了一个名为“Testing”的联系人。在此屏幕截图中,您将看到我搜索了测试,搜索列表中有 1 个结果。我无法选择此联系人。

在此处输入图像描述

对我来说,这看起来像是一个 Apple 错误,但我想知道在 Mac 应用程序中使用 CNContactPicker 的其他人是否有同样的问题?

这是代码:

@IBAction func importContacts(_ sender: NSButton) {
    popover = CNContactPicker()
    (popover! as! CNContactPicker).delegate = self
    (popover! as! CNContactPicker).showRelative(to: self.view.bounds, of: self.view, preferredEdge:NSRectEdge.maxX)
}

func contactPicker(_ picker: CNContactPicker, didSelect contact: CNContact) {
    importedContact = contact
}

func contactPickerDidClose(_ picker: CNContactPicker) {
    if (importedContact != nil) {
        self.populateDetailsFromContact(importedContact! as! CNContact)
    }
}

在这种情况下,“didSelect”委托函数不会触发,因此我的“importedContact”变量为零。我在一个小项目中重现了这个场景。

4

0 回答 0