我想在不使用节点包“ osa-contacts”的情况下获取联系人应用程序中所有mac联系人的数组列表,因为它不能像我想要的那样工作,而且速度不是那么快。有没有办法做到这一点?目前,我正在使用OSX El Capitan 10.11.4。
这是一个electronic.atom.io应用程序。
您可以使用像这样的东西nodobjc
,它在Node和Objective-C运行时之间架起了一座桥梁(尽管如果您想广泛使用它,可能应该已经有一些Objective-C / Cocoa的经验)。
这是一个按名字/姓氏打印出联系人列表的示例:
var $ = require('nodobjc');
// Load the AddressBook framework.
$.framework('AddressBook');
// Get an instance of the address book for the current user.
var addressBook = $.ABAddressBook('addressBook');
// Retrieve all contacts.
var people = addressBook('people');
// Run through the list of contacts and print their first/last name.
var count = people('count');
for (var i = 0; i < count; i++) {
var person = people('objectAtIndex', i);
var firstName = person('valueForProperty', $.kABFirstNameProperty);
var lastName = person('valueForProperty', $.kABLastNameProperty);
console.log(i, firstName, lastName);
}
我不知道这与相比有多快(或慢)osa-contacts
,或者它是否如您所愿地工作。AddressBook
它使用的框架在此处记录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句