你好Mac rubyists和AppleScript仇恨者,
对于那些对rubyosa和rb-appscript都有经验的人,我希望听到每个人的优点和缺点,你决定坚持哪一个,以及你推荐哪一个非完全非-AppleScript精明的红宝石老人。另外,我还有其他选择吗?
另外,欢迎任何处理AppleScript方面的提示(例如浏览词典等)。
查看一些示例代码也有很大帮助。
答案 0 :(得分:46)
答案 1 :(得分:5)
我没有尝试过RubyOSA,但我在rb-appscript取得了很大的成功。它对我来说非常有效,并且比直接使用AppleScript更好。
你见过this thread comparing the two吗?它有一个很好的详细答案,注意到差异。
答案 2 :(得分:3)
Apple通过名为“Scripting Bridge”的框架提供对Cocoa兼容语言的脚本支持。我通过RubyCocoa / MacRuby使用它来满足我的脚本需求。它包含在盒子里,所以非常方便。
require 'osx/cocoa'
require_framework 'ScriptingBridge'
iTunes = SBApplication.applicationWithBundleIdentifier 'com.apple.iTunes'
puts iTunes.selection.name
我在Scripting Bridge中发现的唯一主要烦恼是你必须使用这样的捆绑ID而不是名字,但对我来说这对我来说并不是什么大问题。它也只包含在10.5中,所以如果你需要Panther或Tiger支持,你需要其中一个。
在其他两个版本中,rb-appscript仍在积极开发,而RubyOSA在几年前被有效冻结,所以我可能会选择前者。随着Ruby 2,MacRuby和其他新实现带来语言的变化,rb-appscript更有可能在未来发挥作用。否则他们非常相似。我基本上将rb-appscript视为RubyOSA的新版本,尽管从技术上讲它并不正确。
答案 3 :(得分:2)
简短回答:rb-appscript。
因为Scripting Bridge似乎很乱,RubyOSA已经停止使用。