macOS Catalina 屏幕录制权限

zha*_*dar 3 c++ macos xcode objective-c macos-catalina

我正在使用 XCode 中的 C++ 开发屏幕录制应用程序。问题是,当我编译并启动应用程序时,我总是必须在“设置 > 隐私”中授予屏幕录制权限。

有没有办法总是在 XCode 或类似的东西中授予权限?在开发/测试应用程序时,总是在重新编译时手动授予权限,这真的很烦人。

kil*_*129 6

签署您的调试版本 Luke

为了授予 macOS“屏幕录制”开发权限(或任何其他权限,如麦克风或摄像头访问权限),您必须使用 AppleID 证书签署调试版本。这适用于 Swift/C++/Objective-C 或任何其他语言。

这样做既简单又免费:

  1. 只需单击您的项目
  2. 转到“签名和功能”
  3. 在“签名证书”中选择“开发”
  4. 在“团队”中选择您的证书(如果您没有任何证书,则会有一个“添加团队”按钮,可让您在提供 AppleID 后免费下载一个)

之后,您的构建设置应如下所示: 正确配置的构建 (您可能需要使用 Product -> Clean Build Folder 并重建)

如果权限似乎被撤销...

此外,如果系统仍然没有授予您权限,您需要转到系统设置 -> 安全和隐私 -> 隐私,在适当的类别下,您需要撤销权限并在重建后再次授予它。这将提示应用程序退出 - 执行并再次运行应用程序。从现在开始,它将始终拥有权限。

  • 我以前也遇到过这种情况。您可以尝试使用“tccutil Reset All”重置所有隐私权限。这个方法在 Catalina 上肯定有效,因为 Apple 仅在 Catalina 上造成了这个问题,事实上我在 Catalina 上也遇到了它;) (2认同)