我在Automator中编写了一个AppleScript / Shell脚本应用程序来杀死所有相关进程,重置环境测试变量,并删除所有相关的plist,设备文件和日志。但是,在我再次开始测试之前,我仍然需要手动删除应用程序oAuth令牌。我需要一个解决方案来自动查找与属性匹配的所有密码并删除它们。
从另一个问题我发现了以下片段:
property theKey : "abcd"
tell application "Keychain Scripting"
set keyList to every generic key of current keychain
repeat with x from 1 to (length of keyList)
if the name of item x of keyList is theKey then
delete generic key x of current keychain
exit repeat
end if
end repeat
end tell
但是,当我尝试验证它时,它会挂起“通用”。
思想?
答案 0 :(得分:0)
我最终找到了一个完美的解决方案。
security delete-generic-password -l "com.oauth_token_example.auth"
~/Library/Keychains/login.keychain || set t 0
这有效地删除了Keychain中与字符串匹配的所有键。如果没有找到与该字符串匹配的键,则会返回错误,因此我在一个不执行任何操作的else语句(设置为t 0)中进行了双管道操作。我确信有一种更简单的方法,但如果它有效,谁在乎呢?