我们希望在我们的Mac应用程序中使用音频和摄像头,一般情况下这是可以正常工作的。但是有一个小问题,如果我们从另一个应用程序(例如终端)启动我们的应用程序时,当权限提示出现时,请求访问的应用程序是顶层应用程序,即终端,而不是我们的应用程序名称。
如果我们的应用程序独立于Finder等运行,则权限提示中会显示正确的标题。
我认为可能是缺少CFBundleDisplayName,但这并没有帮助。
void PERMISSIONS::checkAudioPermission() const
{
if (@available(macOS 10.14, *))
{
AVAuthorizationStatus audioAuthStatus =
[AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
if (audioAuthStatus != AVAuthorizationStatusAuthorized)
{
// If the user has not definitively said Yes or No, ask them to do so.
if (audioAuthStatus == AVAuthorizationStatusNotDetermined)
{
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio
completionHandler:^(BOOL granted)
{
if (granted)