好久没有在电脑上录制课程了,有些东西还是录下来记忆深刻,却意外发现MAC系统升级后无法授权给第三方的App使用摄像头和麦克风,而录屏软件是需要开启麦克风和摄像头才能录制屏幕上的操作和声音,官方提示在第三方APP若有使用摄像头和麦克风的行为时会提示授权,然而现在的问题是在[安全性与隐私]中的摄像头和麦克风选项中没有出现正在访问摄像头的APP,是空的,也没有增加和删除的+-按钮。
系统重装了,无用,由13降级重装12,无用,但是现在已经不可以回到MacOS11了,很多正在使用的软件在11的系统中用不了,一时间感觉仿佛遇上了世纪难题,大概是系统更新后由于隐私方面的监管严格了,开放第三方应用使用摄像头需要“动些手脚”。
经过一番探索查询,终于找到了方法,记录一下以防忘记,也方便遇上同样问题的朋友们如法炮制。
第一步:
关闭系统完整性保护(SIP):重启电脑,同时按住command+R 两个键,进入到mac电脑的恢复模式 。在菜单栏依次找到 [实用工具]-[终端]打开,在终端里执行一行命令(禁用 SIP 保护机制)csrutil disable,执行后重启电脑。
第二步:
登录进入MacOS桌面,后点击访达->应用(以FinalCutPro为例)->显示包内容-> 找到目录下的一个Info.plist 文件,用编辑器打开文件,并搜索关键字CFBundleIdentifier ,对应下面的值就是程序的包名,以FinalCutPro为例,即:com.apple.FinalCut
第三步:
执行权限赋予指令,打开终端,执行如下指令给程序赋予权限
(将指令中的com.apple.FinalCut替换为对应需要授予摄像头等使用权限的程序的包名即可)
|获取全部权限
sqlite3 ~/Library/application\ Support/com.apple.TCC/TCC.db "REPLACE INTO access VALUES('kTCCServiceAll','com.apple.FinalCut',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1608354323);"
|获取通讯录权限
sqlite3 ~/Library/application\ Support/com.apple.TCC/TCC.db "REPLACE INTO access VALUES('kTCCServiceContactsFull','com.apple.FinalCut',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1608354323);"
|获取摄像头权限
sqlite3 ~/Library/application\ Support/com.apple.TCC/TCC.db "REPLACE INTO access VALUES('kTCCServiceCamera','com.apple.FinalCut',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1608354323);"
|获取麦克风权限
sqlite3 ~/Library/application\ Support/com.apple.TCC/TCC.db "REPLACE INTO access VALUES('kTCCServiceMicrophone','com.apple.FinalCut',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1608354323);"
第四步:
打开系统完整性保护(SIP):应用授权成功后,将Mac进入恢复模式后,在终端输入 csrutil enable,重启。
作者:智启航
链接:https://www.jianshu.com/p/6ef7ee43198a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。