コマンドラインから Safari 8 の Cookie をリセットするにはどうすればよいですか?

コマンドラインから Safari 8 の Cookie をリセットするにはどうすればよいですか?

コマンドラインから 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 cookiedkill したりもしてみました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 を起動します。

関連情報