homebrew でインストールした 1Password を起動しようとすると、「システムが 1Password を隔離しました。」のメッセージダイアログが表示された。
当該ダイアログで「ターミナルを開く」をクリックすると、以下のコマンド
sudo xattr -r -d com.apple.quarantine "/Applications/1Password 7.app" && open "/Applications/1Password 7.app"
がクリップボードにコピーされ、このコマンドを実行することで、以降、当該ダイアログが表示されることはなくなった。
……のだが、他にも com.apple.quarantine 属性が付加されたままのアプリケーションはあって、それらでは実行時に同様のメッセージダイアログが表示されたことがないんだよな。今回の 1Password では、何故、このメッセージダイアログを表示されたんだろう?
件のダイアログが表示される流れ
試行錯誤の結果、件のダイアログが表示される流れがわかった。
- 管理者ユーザーで 1Password インストール (
brew install 1password
) - 管理者ユーザーで 1Password を起動する前に一般ユーザーで 1Password を起動
以降、管理者ユーザーで 1Password を実行しても、件のダイアログが表示され、 /Applications/1Password 7.app から com.apple.quarantine 属性を削除するまで 1Password が起動できなくなる。
件のダイアログを表示させないためには
- 管理者ユーザーで 1Password を再インストール (
brew uninstall 1password
→brew install 1password
) - 一般ユーザーで 1Password を起動する前に管理者ユーザーで 1Password を起動
以降、一般ユーザーで実行しても、件のダイアログは表示されない。
なお、このとき、
% xattr /Applications/1Password\ 7.app com.apple.quarantine
と、 /Applications/1Password 7.app の com.apple.quarantine 属性は付加されたままの状態だった。
もちろん、再インストールしたりせずに、件のダイアログの指示に従って /Applications/1Password 7.app から com.apple.quarantine 属性を削除する方法でも良い。