
コマンドラインから Safari 8 の Cookie をリセットするにはどうすればよいですか?
質問を読みましたコマンドラインからSafariをリセットするこれは Safari 7 では問題なく動作するようですが、この方法は Safari 8 (Mac OS X Yosemite 上) では動作しないようです。
どうやら、これは~/Library/Caches/com.apple.Safari/
Safari がファイルを保存する場所のようですが、Safari を終了し、そのディレクトリを削除してから Safari を再起動すると、そこにあったファイルが戻ってきます。Safari は他の場所にもデータを保存しているはずですが、この場所が見つかりません。
killall cookied
と を実行したり、killall -9 cookied
kill したりもしてみましたSafariNotificationAgent
が、効果がないようです。
Safari を使用してアクセスされているファイルを監視しようとしましたsudo fs_usage Safari
が、これもあまり役に立ちません。
運が悪かったにもかかわらず、同じ結果が得られる「代替案」も調査しました。
- Safari をプライベート ブラウジング モードで起動する方法 (これを行うにはハッキーな AppleScript の方法しか見つかりませんでした)
- 終了時にすべての Cookie をクリアする方法 - 拡張機能でしょうか? (これもうまくいきませんでした)
上記のリンクの方法は Safari 7 でも問題なく動作します。
Safari 8 でも同じことを行うにはどうすればよいでしょうか?
答え1
記事AppleScript 経由で Safari の Cookie を削除する特定の 3 つの Web サイトの Cookie を削除するためのスクリプトを提案します。
set deCookie to {"nytimes.com", "go.com", "cnn.com"}
tell application "System Events"
tell process "Safari"
keystroke "," using command down
delay 1
tell window 1
click button "Privacy" of tool bar 1
delay 3
repeat with d in deCookie
click button "Details…" of group 1 of group 1
try
keystroke d
delay 1
select row 1 of table 1 of scroll area 1 of sheet 1
click button "Remove" of sheet 1
end try
click button "Done" of sheet 1
end repeat
end tell
keystroke "w" using command down
end tell
end tell
このスクリプトは 2013 年に作成されたため、Safari 8 に適合させる必要があるかもしれません。
答え2
OS X を使ってからしばらく経ちますが、以前はアプリ自体の中のファイルを削除することで Cookie にアクセスできました。Safari.app
ディレクトリを調べましたか? そこからローカル ストレージを見つけて、以前削除したディレクトリを削除し、Safari を起動します。