簡體   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