RubyCocoa でアドレスブックをいじる
サーバに送られてくるスパムメールがだんだんうざくなってきたので、 一旦アドレスブックに登録されていないメールアドレスから送られてきたメールは一時置き場に隔離しようと思い、 RubyCocoa からアドレスブックをいじろう調べもの。
とりあえず以下のコードでアドレスブックに含まれているメールアドレスはすべて取得できるようだ。
require 'osx/cocoa' OSX.require_framework 'AddressBook' #http://developer.apple.com/mac/library/DOCUMENTATION/UserExperience/Reference/AddressBook/Miscellaneous/AddressBook_Constants/Reference/reference.html book = OSX::ABAddressBook.sharedAddressBook me = book.me OSX::ABAddressBook.sharedAddressBook.people.each do |person| if person == me next end emails = person.valueForProperty(OSX::KABEmailProperty) if emails count = emails.count (0...count).each do |index| email = emails.valueAtIndex(index) puts email end end end
pp book.public_methods
とかやっても、cocoa のメソッドは見ることができないので、
ドキュメントを読まなくちゃいけないのがめんどくさい。