CNContact for Mac OS X 10.11

时间:2015-08-30 19:10:35

标签: macos swift contacts addressbook

来自OS X 10.11和iOS 9.0的

Apple提供了这个框架Contacts:

  

https://developer.apple.com/library/prerelease/mac/documentation/Contacts/Reference/Contacts_Framework/index.html#//apple_ref/doc/uid/TP40015328

我希望从Mac访问联系人,但我无法做任何事情,因为该应用无法访问联系人:

delegate

应用程序从不提示允许访问联系人,也不能在“系统偏好设置”中选择它(它不会显示)。

有没有人知道如何在Mac上使用它们(在iOS上运行良好)?

1 个答案:

答案 0 :(得分:1)

你正在操场上试试吗?这不起作用。

在您的项目中尝试此方法:

func getContactImage(name:String) -> NSImage?
{
    let store = CNContactStore()
    do
    {
        let contacts = try store.unifiedContactsMatchingPredicate(CNContact.predicateForContactsMatchingName(name), keysToFetch:[CNContactImageDataKey])
        if contacts.count > 0
        {
            if let image = contact[0].imageData
            {
                return NSImage.init(data: image)
            }
        }
    }
    catch
    {
    }

    return nil
}

无论如何,你的问题引导我找到了获取联系人形象的方法,所以谢谢你。