我跟着文檔寫道:如何通過rb-appscript編寫鑰匙串腳本?
require 'rubygems'
require 'appscript'
loginKeychain = Appscript::app('Keychain Scripting').keychains['login.keychain']
userName = loginKeychain.keys[its.name.eq(name)].password.get
UPDATE:如果我運行通過終端的腳本,它成功的第一時間,然後返回下面,直到我退出並重新啓動終端的錯誤;重複...
錯誤間歇性地返回:
/Library/Ruby/Gems/1.8/gems/rb-appscript-0.5.3/lib/appscript.rb:539:in `_send_command': CommandError (Appscript::CommandError)
OSERROR: -600
MESSAGE: Application isn't running.
COMMAND: app("/System/Library/ScriptingAdditions/Keychain Scripting.app").keychains["login.keychain"].keys[its.name.eq("a name")].password.get()
更新2:由於神祕的錯誤,那鑰匙扣腳本似乎馬車一般情況下,我決定使用MacRuby。我發現MacRuby Keychain Wrapper庫,它直接調用Keychain Services,而不是通過腳本去:
require 'keychain-wrapper/keychain'
MRKeychain::GenericItem.item_for_service(service_name).password
- 易
- 更高效
- 完美的作品
完成。
您成功使用Python腳本化了Keychain? AppleScript編輯器的AppleScript工作正常 - 在翻譯成Ruby之前,我在那裏對它進行了原型設計。 – 2011-04-23 00:10:06
是啊 - 我用Python&Appscript進行了一個小測試。嘗試使用ASTranslate並單擊檢查將實際事件發送到應用程序。對不起,我不能直接幫助Ruby。我是一個Python人,只是不知道Ruby。 – Clark 2011-04-23 18:03:52
你是如何運行你的Python腳本的?在終端中,當我執行時發生同樣的事情:
– 2011-04-24 16:24:21