Mac でカメラ・マイクアクセス設定が表示されない場合の対処法

# Mac でカメラ・マイクアクセス設定が表示されない

### **環境**
Macbook Pro 14inch (M4 Apple Silicon Chip)
```bat
➜  ~ neofetch
                    'c.          arcsec@Mac.lan
                 ,xNMM.          --------------
               .OMMMMo           OS: macOS 15.4 24E248 arm64
               OMMM0,            Host: Mac16,1
     .;loddo:' loolloddol;.      Kernel: 24.4.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 23 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 211 (brew)
 XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: zsh 5.9
;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 1800x1169, 1080x1920, 2560x1440
:MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: yabai
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.    Terminal: /dev/ttys000
 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   CPU: Apple M4
  .XMMMMMMMMMMMMMMMMMMMMMMMMK.   GPU: Apple M4
    kMMMMMMMMMMMMMMMMMMMMMMd     Memory: 2176MiB / 16384MiB
     ;KMMMMMMMWXXWMMMMMMMk.
       .cooc,.    .,coo:.
```

---

### **問題**
macOS でアプリケーション（ZoomやDiscordなど）のカメラやマイクのアクセスが許可されず、システム設定 > プライバシーとセキュリティ に表示されない場合がある。

おそらく同じ症状 : https://discussionsjapan.apple.com/thread/251869363?sortBy=rank

![Screenshot 2025-04-04 at 0.36.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2667904/b853ee43-32e4-40e8-9839-6f9b7e45da52.png)


---

### **原因と対応**

macOSでは、アプリケーションがカメラやマイクへのアクセスをリクエストする際、その情報は`TCC.db`に保存される。これが反映されない場合、設定が正しく行われない。

以下の手順で、アプリケーションに対して手動でカメラやマイクのアクセス許可を追加できる。

---

### **解決方法**

1. **Zoom のカメラ・マイクアクセスを追加**

```sh
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"INSERT INTO access VALUES('kTCCServiceCamera','us.zoom.xos',0,1,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,CAST(strftime('%s','now') AS INTEGER),NULL,NULL,'UNUSED',CAST(strftime('%s','now') AS INTEGER));"

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"INSERT INTO access VALUES('kTCCServiceMicrophone','us.zoom.xos',0,1,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,CAST(strftime('%s','now') AS INTEGER),NULL,NULL,'UNUSED',CAST(strftime('%s','now') AS INTEGER));"
```

2. **Discord のカメラ・マイクアクセスを追加**

```sh
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"INSERT INTO access VALUES('kTCCServiceCamera','com.hnc.Discord',0,1,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,CAST(strftime('%s','now') AS INTEGER),NULL,NULL,'UNUSED',CAST(strftime('%s','now') AS INTEGER));"

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"INSERT INTO access VALUES('kTCCServiceMicrophone','com.hnc.Discord',0,1,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,CAST(strftime('%s','now') AS INTEGER),NULL,NULL,'UNUSED',CAST(strftime('%s','now') AS INTEGER));"
```
---

### **確認と適応**

macOS の「システム設定」 > 「プライバシーとセキュリティ」 > 「カメラ」および「マイク」のセクションに、ZoomやDiscordが表示されていることを確認する。

再起動が必要なアプリもある。表示されていない場合、再起動を行う[1]。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2667904/67368c3a-6a44-4e0d-a8b5-92a808b6ae7a.png)

また、この変更を行なった後にアプリ側へ反映されるわけではなく、この画面上で (ONになってる場合は一旦切ってOFFにして、)ON にして、`“zoom.us.app” will have access to your microphone until it is quit.` のポップアップを出させて、 `Quit & Reopen` を選択するとアプリ側へこの変更が適応される。

---

### **注意**
- `TCC.db`のデータベースに直接変更を加える方法は、Appleによってサポートされていないため、自己責任で実行すること。
- **System Integrity Protection (SIP)** が無効の場合にのみ、`TCC.db` の操作が可能。[2]
- SIP 無効はリカバリーモードで行うことが可能(他の記事を参照)。

### **参考文献**
https://pslabo.hatenablog.com/entry/2020/06/11/080000

[1] Macでwindowsのようなaudiomixerを実現する background Music.app などがそうだt
[2] すでに私のMacではSIPを無効にしていたので、有効な場合(デフォルトの状態)は試していない