# 権限

> DockSparkがアクセシビリティ、オートメーション、フルディスクアクセスを求める理由、システム設定での無効化の方法、Terminalからのリセット方法を説明します。

Source: https://dockspark.app/ja/docs/getting-started/permissions

## アクセシビリティ

### Dockのホバーに必要

DockSparkはmacOSのアクセシビリティAPIを使用して、ポインタの下にあるDockアイコンを判別し、その位置を読み取ります。このアクセスがないと、ホバーパネルを表示できません。

## オートメーション

一部のブラウザ操作にはmacOSのオートメーションへのアクセスが必要です。DockSparkは、それを必要とする操作を使ったときにだけ要求し、macOSが同意ダイアログを表示します。

## フルディスクアクセス

ChromiumやFirefoxのプロファイルを読み取るには、フルディスクアクセスが必要な場合があります。必要な場合は、システム設定を開く前にDockSparkがその理由を説明します。権限はそこで許可または拒否できます。

> **制御はお客様にあります**
>
> これらの権限はmacOSが管理しており、いつでも確認または取り消せます。権限をオフにすると、関連する機能は停止します。DockSparkの中から再度要求することもできます。

## システム設定で権限を取り消す

1. **システム設定を開きます。** サイドバーから「プライバシーとセキュリティ」を選びます。
2. **削除する権限を開きます。** 「アクセシビリティ」「オートメーション」「フルディスクアクセス」のいずれかを選びます。
3. **DockSparkのアクセスをオフにします。**
   - **アクセシビリティとフルディスクアクセス：** DockSparkの横にあるスイッチをオフにします。一覧から削除するには、DockSparkを選択してマイナス（−）ボタンをクリックします。
   - **オートメーション：** DockSparkを展開し、Safari、Google Chrome、Firefoxなど、制御を許可している各アプリのチェックを外します。
4. **macOSの案内に従います。** DockSparkを開き直すよう求められた場合は、先に「DockSparkを終了」を選んでください。メインウインドウを閉じるだけでは不十分です。アプリはバックグラウンドで動作を続けます。

アクセスを取り消すと、対応する機能が停止します。アクセシビリティがないと、ホバーパネルは表示できません。オートメーションがないと、選択したプロファイルやプライベートウインドウを開く操作が失敗することがあります。フルディスクアクセスがないと、ChromiumとFirefoxのプロファイル一覧が自動で更新されない場合がありますが、`Default`や`Profile 1`などのChromiumのディレクトリは手動で入力できます。

## Terminalで権限と設定をリセットする

> **危険な操作**
>
> これらのコマンドは、DockSparkにすでに付与されたmacOSの権限を削除し、アプリのローカル設定を消去します。再度アクセスを許可するまで、DockSparkは対応する機能を提供できません。ホバーパネルにはアクセシビリティ、選択したプロファイルやプライベートウインドウを開く操作にはオートメーション、ChromiumまたはFirefoxのプロファイルフォルダーの読み取りにはフルディスクアクセスが必要になる場合があります。保存済みのプロファイル名、色、並び順が失われることもあります。リセットする意図がある場合にのみ使用してください。各権限はDockSparkの中から再度要求できます。

1. **先にDockSparkを終了します。** メニューバーまたはDockのアイコンから「DockSparkを終了」を選ぶか、以下の終了コマンドを実行します。メインウインドウを閉じるだけにしないでください。
2. **Terminalアプリを開きます。** アプリケーション → ユーティリティ → Terminal に移動します。標準のTerminalアプリを使い、コマンドを貼り付けてReturnキーを押します。
3. **必要なコマンドだけを実行します。** 各コマンドはDockSparkのバンドル識別子`app.dockspark.DockSpark`を対象にします。バンドルIDを省略しないでください。省略すると、macOSが他のアプリの同じ権限をリセットする可能性があります。

TerminalからDockSparkを終了します。

```bash
osascript -e 'tell application "DockSpark" to quit'
```

アクセシビリティを削除します。

```bash
/usr/bin/tccutil reset Accessibility app.dockspark.DockSpark
```

オートメーションを削除します。

```bash
/usr/bin/tccutil reset AppleEvents app.dockspark.DockSpark
```

フルディスクアクセスを削除します。

```bash
/usr/bin/tccutil reset SystemPolicyAllFiles app.dockspark.DockSpark
```

DockSparkの設定を消去します。

```bash
defaults delete app.dockspark.DockSpark
rm -f ~/Library/Preferences/app.dockspark.DockSpark.plist
rm -rf ~/Library/Application\ Support/DockSpark
rm -rf ~/Library/Containers/app.dockspark.DockSpark
```

`defaults delete`でドメインが存在しないと表示された場合は、削除する設定がなかったものとして無視してかまいません。終わったらDockSparkを開き直してください。アプリはまだ必要な権限を要求でき、システム設定でスイッチをオンに戻すこともできます。アクセシビリティが復元されると、DockSparkはDockのホバー監視を再構築できます。
