0

MacOS 上的 Delphi 11 项目正在使用以下代码请求许可:

procedure TCOWMainForm.Button1Click(Sender: TObject);
var
  fMic: FMX.Media.TAudioCaptureDevice;
begin
  fMic := TAVCaptureDeviceManager.Current.DefaultAudioCaptureDevice;
  if (fMic <> nil) then
  begin
    ShowMessage('fMic not nil so calling fMic.RequestPermission');
    fMic.RequestPermission;
  end;
end;

Project | Options | Version Info包括一个密钥对 NSMicrophoneUsageDescription "COW records your voice."

fMic.RequestPermission尽管如此,根据Apple文档,该项目在调用时被终止:

在 macOS 上请求媒体捕获授权

在尝试获得在 macOS 公证应用程序中使用麦克风的许可时,我可能会遗漏什么?

编辑包含这个 Embarcadero RSP,它有一个最小的项目来重现这个问题。

https://quality.embarcadero.com/browse/RSP-36541

4

1 回答 1

1

多亏了@DaveNottage,经过公证的 Delphi 应用程序似乎需要的不仅仅是 Info.plist 中的 NSMicrophoneUsageDescription 密钥对。

该项目还需要Project | Options | Application | Entitlement List | Audio Input检查True。

于 2021-12-11T14:22:32.613 回答