热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

如何在macOSCatalina上触发屏幕录制权限系统模式对话框

如何解决《如何在macOSCatalina上触发屏幕录制权限系统模式对话框》经验,为你挑选了1个好方法。

我有一个具有屏幕共享功能的应用程序。在macOS Catalina beta8(19A558d)上,您必须授予权限屏幕录制权限才能共享屏幕(没有权限,仅背景和菜单栏将与另一端共享)。不幸的是,我真的不知道哪个事件或调用会触发系统模式对话框,有时会出现该对话框,有时却没有(系统模式对话框显示在第75页:https : //devstreaming-cdn.apple.com/videos /wwdc/2019/701ngx868rfo8jlj/701/701_advances_in_macos_security.pdf?dl=1)。因此,这绝对是不确定的。如果不与该模式对话框进行交互,则我的应用程序将不会在“安全和隐私/屏幕录制”下注册,因此我无法授予其许可。有人有什么想法,我该如何解决这个问题?



1> Jordan H..:

屏幕录制提示将仅出现一次-首次调用试图记录用户屏幕的API时,例如:

CGDisplayStreamRef stream = CGDisplayStreamCreate(CGMainDisplayID(), 1, 1, kCVPixelFormatType_32BGRA, nil, ^(CGDisplayStreamFrameStatus status, uint64_t displayTime, IOSurfaceRef frameSurface, CGDisplayStreamUpdateRef updateRef) {
});
if (stream) {
    CFRelease(stream);
}

如您所述,您的应用程序将不会出现在“屏幕录像”下的“系统偏好设置”中,直到您调用屏幕录像API从而触发系统提示。

如果触发了提示而用户拒绝了该提示,则无法再次显示该提示-用户必须在系统偏好设置中手动启用它。

在构建和测试此应用程序时,可以通过tccutil reset ScreenCapture com.company.appname.Or使用All代替重置应用程序的所有权限,就像从未使用过屏幕录制API一样重置应用程序的权限ScreenCapture


推荐阅读
author-avatar
蔡伟钊cc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有