0
ノードパッケージ "osa-contacts"を使わずに連絡先アプリ内のすべてのMac連絡先の配列リストを取得したいと思っています。それは速い。それを行う方法はありますか?現在、私はOSX El Capitan 10.11.4を使用しています。node.jsすべてのMac連絡先を取得する
これはelectron.atom.ioアプリです。
ノードパッケージ "osa-contacts"を使わずに連絡先アプリ内のすべてのMac連絡先の配列リストを取得したいと思っています。それは速い。それを行う方法はありますか?現在、私はOSX El Capitan 10.11.4を使用しています。node.jsすべてのMac連絡先を取得する
これはelectron.atom.ioアプリです。
NodeとObjective-Cランタイムの間にブリッジを提供するnodobjc
のようなものを使うことができます(広範囲に使用したい場合はObjective-C/Cocoaの経験があるはずです)。ここで
osa-contacts
と比較してどれだけ速く(または遅く)見当がつかない、または
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);
}
それはあなたのように動作している場合欲しい。使用するAddressBook
フレームワークは、hereと記載されています。