2016-05-03 10 views
0

ノードパッケージ "osa-contacts"を使わずに連絡先アプリ内のすべてのMac連絡先の配列リストを取得したいと思っています。それは速い。それを行う方法はありますか?現在、私はOSX El Capitan 10.11.4を使用しています。node.jsすべてのMac連絡先を取得する

これはelectron.atom.ioアプリです。

答えて

1

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と記載されています。

関連する問題