Sal*_*lem 1 cocoa screen-recording swift macos-monterey
我正在 Xcode 13.2.1 中为 macOS(本地 12.1)编写一个应用程序。我需要屏幕截图访问权限,似乎获得此权限的最简单方法(在 macOS 11 及更高版本中)是使用CGRequestScreenCaptureAccess,并使用以下命令检查资格CGPreflightScreenCaptureAccess:
我的代码基本上是这样的:
let hasScreenAccess = CGPreflightScreenCaptureAccess();
if (!hasScreenAccess) {
CGRequestScreenCaptureAccess()
}
Run Code Online (Sandbox Code Playgroud)
启用我的应用程序的权限会提示我退出我的应用程序并重新启动它。这将从应用程序商店重新启动我的应用程序的生产副本。但是,如果我退出并在 XCode 中重新运行相同的构建,我的构建仍然没有被授予录制屏幕的权限(即使它在系统偏好设置中显示为已启用)。如何允许我的应用程序有权在本地录制我的屏幕?
在重命名我们的一个使用/usr/sbin/screencapture命令行工具的应用程序后,我们遇到了类似的问题。无论系统偏好设置中的激活状态如何,每次触发屏幕捕获时都会出现安全提示。
在开发过程中,该tccutil reset ScreenCapture {bundle identifier}命令有助于保持权限干净,以便进行后续测试。
| 归档时间: |
|
| 查看次数: |
1683 次 |
| 最近记录: |