0%

解决钉钉(DingTalk)在 macOS 上的权限问题

最近,因为各种原因,我先后两次需要给悠悠在 macOS 上安装钉钉。但是,两次安装钉钉,悠悠都反映通过钉钉和别人语音、视频会议的时候,别人看不见她、听不见她、无法共享屏幕等问题。

归根究底,这都是钉钉在 macOS 上权限控制的问题。

权限管理在哪里

GUI 下,macOS 的权限控制位于:系统偏好设置 -> 安全性与隐私 -> 隐私

在隐私标签页中,我们可以看到有若干项涉及到隐私的权限控制。比如有

  • 定位服务
  • 通讯录
  • 日历
  • 提醒事项
  • 照片
  • 摄像头
  • 麦克风
  • 辅助功能
  • 磁盘完全访问权限
  • 屏幕录制
  • ……

钉钉都要什么权限

钉钉在语音会议时,会申请麦克风权限;在视频会议时,还会额外申请摄像头权限;在共享屏幕时,还会额外申请屏幕录制权限。

理论上,只要在安全性与隐私里的隐私标签页的相应项目中,勾上钉钉,它就能够正常工作。但因为某些不明的原因(——我猜这个锅得由钉钉的开发与测试来背),你可能会遇到:

  • 勾上了,但仍然某项功能仍然无法正常工作;
  • 没勾上,但是相应项目中也没有钉钉这个候选项,所以想勾也勾不上。

重置相应权限

macOS 提供了 ttcutil 这个命令行程序来重置隐私设置。为此,你需要首先退出钉钉,并将其更新到官网的最新版本;而后打开终端(Terminal),然后键入命令:

1
2
3
sudo ttcutil reset Microphone
sudo ttcutil reset Camera
sudo ttcutil reset ScreenCapture

这里,sudo 是为了获取系统最高权限——root 用户权限。这是因为,隐私设置的数据库,默认不允许普通用户访问。这里我们通过 ttcutil reset 依次重置了麦克风、摄像头、屏幕录制的隐私设置。

此时,再打开钉钉,发起视频会议,钉钉就会弹窗申请麦克风和摄像头的权限。你只需要在弹出的对话框中点击「好」,就能自动赋予钉钉相应权限。

共享桌面所需的屏幕录制权限则有些复杂。当你在视频会议状态,选择共享桌面时,钉钉确实会发起权限申请。但你不能直接点击「好」,而需要打开系统偏好设置,进入安全性与隐私的隐私标签页,找到屏幕录制,再给钉钉打上勾。但不幸的是,就算你这样操作,钉钉仍然没有该项权限。

实验后,我发现正确的做法:不是通过视频会议的共享桌面功能触发权限申请,而是通过另一个同样需要该项权限的功能——截图——来触发权限申请。你只需要找到任意联系人,进入对话状态后,点击小剪刀进行截图,然后再赋予权限,即可正常激活钉钉的屏幕录制权限。

做完这些之后,你只需要重启钉钉,就应该能正常使用语音、视频会议,并且能够正常地在会议中共享桌面了。

万一操作失误了怎么办

请继续在终端当中执行下列命令,然后重新赋予权限:

1
2
3
sudo ttcutil reset Microphone
sudo ttcutil reset Camera
sudo ttcutil reset ScreenCapture
俗话说,投资效率是最好的投资。 如果您感觉我的文章质量不错,读后收获很大,预计能为您提高 10% 的工作效率,不妨小额捐助我一下,让我有动力继续写出更多好文章。