2012-01-24 39 views
0

我想使用MacRuby来告诉Mail.app检查新邮件。但是在使用SBApplication获得应用程序参考后,我无法弄清楚如何解决这个问题。Tell Mail.app用MacRuby检查新邮件

我有以下简单的脚本:

#!/usr/local/bin/macruby 
framework 'ScriptingBridge' 

mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail") 
# mail.check_for_new_mail? 

基本上我想要做以下的AppleScript中的MacRuby:

tell application "Mail" 
    check for new mail 
end tell 

是的,我可以只使用AppleScript的。但我更喜欢Ruby。

回答

3

#!/usr/local/bin/macruby 
framework 'ScriptingBridge' 

mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail") 
mail.accounts.each {|account| mail.checkForNewMailFor(account) } 

提示:使用puts (mail.methods(true,true) - Object.new.methods)返回一个可用的可可只方法列表对象和祖先

+0

'mail.accounts.map'?不应该是'mail.accounts.each'吗? –

+0

是的,它应该是每个而不是地图;改变了它:-) thx –

+0

@ Sean:太棒了,也只有Cocoa方法。干杯! – dbarros

相关问题