Mac版Skype for Businessには、マイクが有効にならない不具合があるようです。相手にこちらの音声が届かない等、マイクが正常に働かない場合の対処方法について、調べてみました。

1.   問題となる現象

  • こちらの音声が相手に届かない
  • OSのプライバシー設定のマイク使用許可アプリケーションに、Skype for Businessが表示されない
Privacy Microphone Dialog

各種アプリケーションにマイク使用許可を設定する画面に、Skype for Businessが表示されない

2.   問題を確認したバージョン

(筆者が調べた範囲で)少なくとも下記のバージョンで同様の問題が報告されているようです。

  • ver.16.23.65[1]
  • ver.16.28.142[2]
  • ver.16.28.175

3.   原因

Skype for Businessの実装ミスが原因のようです。

MacOSでは、OSが許可したアプリケーションしかマイクを使用することができません。アプリケーションががOSに対してマイクの使用許可を求めて、それをユーザーが許可して初めてマイクが有効になるのですが、Skype for Businessは正しく許可の要求をしていないようです[3]

4.   解決方法

TCC.dbというOSが作成するファイルを編集して、Skype for Businessにマイクの使用許可を無理矢理与えることで、マイクを使用できるようになります。

TCC.dbとは?

TCC.dbとは、OSのプライバシー設定を管理するデータベースファイルです[6][7]。基本的には、OSが自動的に作成するファイルです。

4.1.   手順の概要

大まかな手順は、下記の3ステップです。

  1. SIPを一時的に無効にする(Macの再起動が必要)
  2. TCC.dbファイルを編集する
  3. SIPを再度有効にする(元に戻す)
  4. システム環境設定で、Skype for Businessのマイク使用許可をONにする。

SIPとは?

SIP(System Integrity Protection)とは、MacOSに備わるシステム保護機能です[4][5]。保護されたファイルを、不正な改竄から守る為の仕組みです。(SIPを無効化する具体的な手順については、後述します)

4.2.   手順の詳細

4.2.1.   SIPの無効化[8][9][10]

  1. リカバリーモードで起動する[11][12]

    1. Macの電源を入れた直後に起動中にCommand+R(Rを同時押し)を押し続ける。
    2. Appleロゴが表示されたら、キーから指を放します。
  2. ユーティリティメニューからターミナルを選んで、ターミナルを起動する。

  3. 開いたターミナルで、 csrutil disable と入力し、enter(return)キーを押す。

    $csrutil disable
    
  4. Successfully disabled System Integrity Protection. と表示されるので、Macを再起動する。

4.2.2.   TCC.dbファイルの編集

  1. ターミナルを開いて、カレントディレクトリを~/Library/ApplicationSupport/com.apple.TCCに移動する。

    $cd ~/Library/Application\ Support/com.apple.TCC
    
  2. (念の為に)現在のTCC.dbをバックアップする。

    $cp TCC.db TCC.db.backup
    
  3. sqlite3でTCC.dbを開く。

    $sudo sqlite3 TCC.db
    
  4. 下記のINSERT文を実行する。(Skype for Businessのマイク使用許可に関するデータを追加する)[13]

    INSERT INTO access VALUES('kTCCServiceMicrophone','com.microsoft.SkypeForBusiness',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);
    

4.2.3.   SIPの有効化[8][9][10]

  1. リカバリーモードで起動する[11][12]

    1. Macの電源を入れた直後に起動中にCommand+R(Rを同時押し)を押し続ける。
    2. Appleロゴが表示されたら、キーから指を放します。
  2. ユーティリティメニューからターミナルを選んで、ターミナルを起動する。

  3. 開いたターミナルで、 csrutil enable と入力し、enter(return)キーを押す。

    $csrutil enable
    
  4. Successfully enabled System Integrity Protection. と表示されるので、Macを再起動する。

4.2.4.   Skype for Businessのマイク使用許可をONにする

  1. システム環境設定 を開く。
  2. セキュリティとプライバシー を開く。
  3. プライバシーマイク をクリック。
  4. Skype for Business のチェックをONにする。

以上の手順で、Skyepe for Businessでマイクが有効になるはずです。

5.   参考リンク

[1]

Skype for Business does not request microphone access on MacOS Mojave - Microsoft Community

I have problem with Skype for Business v16.23.65 on MacOS Mojave.
[2]

Skype for Business does not request microphone access on MacOS Mojave - Microsoft Community

It downloads version 16.28.142, and it still doesn't connect to my microphone.
Skype for Business 16.28.142 also won't ask access to my (internal) MacBook Pro microphone
[3]

Skype for Business does not request microphone access on MacOS Mojave - Microsoft Community

The source of the problem might be that the Info.plist file within the Skype for Business.app -package does not include the dialog key NSMicrophoneUsageDescription which seems to cause the security subsystem to refuse the request from the application.
[4]

システム整合性保護 - Wikipedia

システム整合性保護 (System Integrity Protection, SIP, rootlessとも呼ばれる)は、 OS X El Capitanから導入されたアップルのmacOSのセキュリティ機能である。
[5]

【用語解説】System Integrity Protection (SIP) とは

System Integrity Protection (SIP) とは、OS X 10.11 El Capitan 以降で採用されているセキュリティ技術です。
System Integrity Protection (SIP) は Mac 上の保護されたファイルやフォルダを改ざんしようとする悪意を持ったプログラムからデータを守ります。
[6]

macOSのセキュリティとプライバシー保護 - Plan 9とGo言語のブログ

TCCとはTCC: A Quick Primerによると、Transparency, Consent, and Controlのことで、アプリケーションがユーザデータへ無制限にアクセスさせないための保護機構のようです。
[7]

What does the TCC Compatibility database do? – The Eclectic Light Company

The Transparency Consent and Control system, TCC, maintains two databases named com.apple.TCC.db in /Library/Application Support and ~/Library/Application Support, which contain all the prevailing settings for privacy controls, including the allow lists which are displayed in the Privacy tab of the Security & Privacy pane.
[8](1, 2) システム整合性保護(System Integrity Protection: SIP)の無効化 – Intego Support
[9](1, 2) 【上級者向け】System Integrity Protection (SIP) を無効にする方法 | Too クリエイターズFAQ | 株式会社Too
[10](1, 2)

How to turn off System Integrity Protection on your Mac | iMore

How to turn off System Integrity Protection in macOS

  1. Click the Apple symbol in the Menu bar.
  2. Click Restart...
  3. Hold down Command-R to reboot into Recovery Mode.
  4. Click Utilities.
  5. Select Terminal.
  6. Type csrutil disable.
  7. Press Return or Enter on your keyboard.
  8. Click the Apple symbol in the Menu bar.
  9. Click Restart...
[11](1, 2)

macOS 復元について - Apple サポート

  1. Mac の電源を入れた直後に、「command (⌘)」と「R」の 2 つのキーを押し続けます。
  1. Apple ロゴ、回転する地球儀、その他の起動画面が表示されたら、キーから指を放します。
[12](1, 2)

Mac の起動時のキーコンビネーション - Apple サポート

こうしたキーの組み合わせを使うには、電源ボタンを押して Mac の電源を入れた直後、または Mac が再起動を始めた直後に、該当するキーを押し続けます。
  • command (⌘) + R:内蔵の macOS 復元システムから起動します。
[13]

Skype for Business does not request microphone access on MacOS Mojave - Microsoft Community

Within sqlite3, For Skype for Business audio fix type in command:

INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.microsoft.SkypeForBusiness',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);