Macos 使用ABPersonCopyImageData获取联系人图像数据

Macos 使用ABPersonCopyImageData获取联系人图像数据,macos,swift,abaddressbook,Macos,Swift,Abaddressbook,我正试图从Mac上的通讯录中获取联系方式。我可以得到名字和姓氏字段等,但我正在为ABPersonCopyImageData的语法而挣扎 现在根据文档ABPersonCopyImageData获取ABPerson类型的单个参数 这是我的密码: import AddressBook let thisPerson : ABPerson let addressBook = ABAddressBook.sharedAddressBook() rec = addressBook.recordForUniqu

我正试图从Mac上的通讯录中获取联系方式。我可以得到名字和姓氏字段等,但我正在为ABPersonCopyImageData的语法而挣扎

现在根据文档ABPersonCopyImageData获取ABPerson类型的单个参数

这是我的密码:

import AddressBook
let thisPerson : ABPerson
let addressBook = ABAddressBook.sharedAddressBook()
rec = addressBook.recordForUniqueId("0005A360-327F-4E12-BBB9-24A842497E12:ABPerson")
let firstName = rec.valueForProperty(kABFirstNameProperty) as! String
let lastName = rec.valueForProperty(kABLastNameProperty) as! String
println("\(firstName) \(lastName)")

let contactImage = ABPersonCopyImageData(thisPerson)

最后一行因错误而停止编译器:无法使用类型为(ABPerson)的参数列表调用“ABPersonCopyImageData”。据我所知,这个人属于ABPerson类型。出了什么问题?

我在ElCapitan发现了如何做到这一点:

import Contacts

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 = contacts[0].imageData
            {
                return NSImage.init(data: image)
            }
        }
    }
    catch
    {
    }

    return nil
}