[英]node.js get all mac contacts
我想在不使用节点包“ osa-contacts”的情况下获取联系人应用程序中所有mac联系人的数组列表,因为它不能像我想要的那样工作,而且速度不那么快。 有没有办法做到这一点? 目前,我正在使用OSX El Capitan 10.11.4。
这是一个electronic.atom.io应用程序。
您可以使用诸如nodobjc
类的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
框架在此处记录 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.