macOSのパーミッション(TCC)を安定させる方法
macOSでの開発中、昨日まで動いていた権限が突然リセットされたり、許可を求めるダイアログが表示されなくなって困ったことはありませんか?macOSのパーミッション管理(TCC)は非常にデリケートです。一度設定が壊れると、コードを書き直しても解決しないことがよくあります。
このガイドでは、パーミッションを安定させ、開発をスムーズに進めるためのベストプラクティスを紹介します。
安定した動作を確保するために、以下の条件を整えてください。
dist/OpenClaw.appに配置されたアプリ- Apple Development または Developer ID 証明書
- 固定された bundle identifier
クイックスタート
Section titled “クイックスタート”macOSのパーミッションを安定させるための最短ルートは、アプリの「アイデンティティ」を固定することです。
- アプリのパスを固定する:
dist/OpenClaw.appなど、常に同じ場所からアプリを実行してください。 - Bundle identifier を固定する: IDを変更すると、macOSはそれを全く別のアプリとして認識します。
- 正規の証明書で署名する: Ad-hoc 署名はビルドのたびに新しいアイデンティティを生成するため、権限が保持されません。必ず Apple Development または Developer ID 証明書を使用してください。
- 署名の整合性を保つ: 再ビルドしても署名が変わらないようにすることで、macOSが既存の許可設定を継続して適用できるようになります。
トラブルシューティング
Section titled “トラブルシューティング”プロンプトが表示されなくなった場合は、以下の手順を試してください。
- アプリを完全に終了します。
- 「システム設定」->「プライバシーとセキュリティ」から、該当するアプリのエントリを削除します。
- 同じパスからアプリを再起動し、再度権限を許可します。
- それでも解決しない場合は、
tccutilを使って TCC エントリをリセットしてください。 - 一部の権限は、macOSを再起動するまで反映されないことがあります。
以下は、tccutil を使用したリセットの例です(必要に応じて bundle ID を書き換えてください)。
sudo tccutil reset Accessibility bot.molt.macsudo tccutil reset ScreenCapture bot.molt.macsudo tccutil reset AppleEventsファイルとフォルダのアクセス権
Section titled “ファイルとフォルダのアクセス権”Terminal や LaunchAgent 経由で実行されるプロセスでは、デスクトップ、書類、ダウンロードフォルダへのアクセスが制限されることがあります。ファイル読み込みが止まってしまう場合は、その操作を実行しているプロセス(Terminal や SSH プロセスなど)にアクセス権を付与してください。
個別のフォルダへの権限付与を避けたい場合は、ファイルを OpenClaw のワークスペース(~/.openclaw/workspace)に移動させて運用するのがおすすめです。
権限周りのテストを行う際は、必ず本物の証明書で署名してください。Ad-hoc ビルドは、権限設定が重要ではない一時的なローカル実行にのみ適しています。
設定でお困りの場合は、AI Setup Assistant も活用してください。
次のステップ
Section titled “次のステップ”OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。