web-dev-qa-db-ja.com

iOSシミュレーターは毎回マイクにアクセスしたい

MacOS Mojaveの更新以降、シミュレータで実行するたびにこのアラートが表示されます。

「<AppName>」はマイクにアクセスしたいです。

シミュレーターの実行を停止しています!どうすれば止めることができますか?

Mojave security alert!

45
Udi Levy

私のために働いたのは、ハードウェアオーディオ入力を内蔵マイクに変更することでした私が信じるのは、アクセスを許可すると、ヘッドフォンまたはMacbookへのオーディオ入力が変更されるということです。私の懸念は、私がチュートリアルを見ていると、オーディオ周波数が変化し続け、気になり続けることでした。

Internal Microphone

21
Roger Perez

私のアプリはマイクを使用せず、ビデオのみを再生します。セキュリティとプライバシー->マイクでXcodeのマイクアクセスを制限することにより、警告ポップアップを修正することができました。

10
medvedNick

これはXcode 10.2 Betaで解決されました。 CoreSimulator.frameworkがアップグレードされるため、ベータ版をインストールすると古いXcodeバージョンでも修正されるはずです(古いXcodeとの後方互換性は維持されます)。

新しい動作では、Macでマイクアクセスonceが要求されます。その承認(または拒否)は、最初の承認プロンプトの後にダウンロードされた新しいランタイムやインストールされた新しいXcodeを含む、すべてのシミュレータランタイムのすべてのプロセスを対象としています。

通常のTCCルールは、シミュレータ内で引き続き適用されます。実際にオーディオを録音しようとする場合、アプリには、マイクの使用法の説明を含む関連するInfo.plistキーが必要です。これにより、その特定のシミュレーター内でiOS TCCプロンプトが引き続き生成されます。アプリがオーディオのみを再生する場合、iOSによってTCCプロンプトは生成されません。

6
russbishop

これを修正したのは、許可しない xcodeのマイクアクセスです。このオプションを選択すると、再起動後にポップアップが表示されなくなりました。

残念ながら、Xcodeは以下で利用できないため、以前の修正は機能しませんでした。

システム環境設定->セキュリティとプライバシー->プライバシー->マイク(ここにはXcodeはリストされていません)

1
Peter Suwara

ここには2つの問題があるようです:Xcodeとアプリ自体の両方へのマイクアクセス。

アプリ(またはUITest)は、常に同じ実行ではありませんが、どちらかまたは両方に対してプロンプト(失敗)を表示できます。

アクセスを許可するには、これらのダイアログの両方を承認する必要があります。その後、Xcodeとシミュレータのリセットまたは再起動の間、許可が保持されます。

[システム環境設定]-> [セキュリティとプライバシー]-> [マイク]でXcodeのアクセスが承認されていることを確認できます。この場合、UIにXcodeが表示されます。

ただし、承認済みかどうかにかかわらず、アプリ自体はここのUIには表示されません。

アプリが承認されているかどうか不明な場合は、両方のダイアログが表示されて承認されるまで、ターミナルで「tccutil reset Microphone」を使用してすべてのマイクのアクセス許可をリセットし、アプリ/テストを再実行します。

1
creednmd
  1. MacOSの「セキュリティとプライバシー」設定に移動します

  2. 左パネルで「マイク」を選択します

  3. 右側のパネルでXcodeのオプションを無効にします

1
Shantanu Madane

Xcodeからではなく、アプリのアイコンからシミュレータでアプリを起動してみてください。ダイアログがもう一度表示されます。回答すると、再び表示されることはありません。

0
andriy_fedin