OS Xアプリケーションでサンドボックスを有効にしたところ、CoreAudioコードが機能しなくなりました。特に、を呼び出すと、 「操作を完了できませんでした」というAUGraphAddNode
エラーが返されます。invalidComponentID
ただし、それ以前は、他の多くのCoreAudio呼び出しが正しく機能しているようです。
Consoleにsandboxdからのメッセージがないため、直接のサンドボックス違反ではないようですが、サンドボックスをオフにすると確実に機能します。なぜこれが起こる可能性があるのか誰もが知っていますか?私が想像できる唯一のことは、アクセスできないファイルを読み取ろうとしていることですが、サンドボックスエラーが発生すると思います。
アップデート:
明確にするために、すべてのサンドボックスエンタイトルメントを有効にしようとしましたが、問題は引き続き発生します。
また、問題をいくらか絞り込みました。kAudioUnitType_MusicDevice
この呼び出しは、コンポーネントタイプとサブタイプのノードを追加しようとした場合にのみ失敗しますkAudioUnitSubType_DLSSynth
。
アップデート2:
私はハッキーな回避策を見つけました。ユーザーのホームディレクトリ全体への読み取り/書き込みアクセスを有効にするために一時的な例外資格を追加すると、エラーは発生しなくなります。これは明らかに理想的ではないので、私はより良いオプションを探し続けています。より具体的なサブディレクトリの資格を追加して、必要なアクセスを絞り込もうとしましたが、うまくいきませんでした。