繁体   English   中英

node.js获取所有Mac联系人

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM