郑州正规的网站设计,本地安装好的wordpress怎么传到服务器上,山东省住房和城乡建设厅定额站子网站,中文域名交易网站起因#xff1a;需要浏览器在线做一些测评#xff0c;但我的 Chrome 没有摄像头/麦克风权限#xff0c;并且在设置中是没有手动添加按钮的。
我尝试了重装软件#xff0c;更新系统#xff08;上面的 13.5 就是这么来的#xff0c;我本来都半年懒得更新系统了#xff09…起因需要浏览器在线做一些测评但我的 Chrome 没有摄像头/麦克风权限并且在设置中是没有手动添加按钮的。
我尝试了重装软件更新系统上面的 13.5 就是这么来的我本来都半年懒得更新系统了都没有任何用。 系统版本MacOS 13.5.1需要开启 sip可参考 macOS 开启或关闭 SIP - 少数派 (sspai.com)
思路来源https://blog.csdn.net/cneducation/article/details/111403294 但这篇在新版本已经失效了数据表格式和一些值的含义做了一些修改所以我这里提供的语句也并非一定可以执行。本篇后面讲简单讲述下原理只要知道了原理只要存储方式没有大更改都没问题。
例如向 Chrome 添加摄像头、麦克风权限
/usr/bin/sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db INSERT INTO access VALUES(kTCCServiceMicrophone,com.google.Chrome,0,2,2,1,NULL,NULL,NULL,UNUSED,NULL,0,1637381304);/usr/bin/sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db INSERT INTO access VALUES(kTCCServiceCamera,com.google.Chrome,0,2,2,1,NULL,NULL,NULL,UNUSED,NULL,0,1637381304);想知道原理就继续往下看吧下面路径中保存着的 SQLite 数据库文件就是 MacOS 的权限配置信息
~/Library/Application Support/com.apple.TCC/TCC.db使用 PRAGMA table_info(access) 可以看到表结构重要的就两个 service权限名称, client应用包名 第一步确认包名
首先要打开访达点击左侧应用程序找到要增加权限的 app右键显示包内容进入 contents 找到 info.list定位到这一行 keyCFBundleIdentifier/key下面的 String 标签里的内容就是我们要找的包
第二步确认权限名
kTCCServiceCamera 是摄像头权限kTCCServiceMicrophone 是麦克风权限整体可读性还是很高的我根据设置中的权限推测出下表有几个不确定
权限服务解释kTCCServiceAddressBook访问通讯录的权限。kTCCServiceAppleEvents发送和接收 Apple 事件的权限。kTCCServiceBluetoothAlways永久访问蓝牙设备的权限。kTCCServiceCalendar访问日历的权限。kTCCServiceCamera访问摄像头的权限。kTCCServiceFileProviderDomain访问文件与文件夹权限。kTCCServiceFocusStatuskTCCServiceLiverpoolkTCCServiceMicrophone访问麦克风的权限。kTCCServicePhotos访问照片库的权限。kTCCServiceReminders访问提醒事项的权限。kTCCServiceSystemPolicyDesktopFolder访问桌面文件夹的系统策略权限。kTCCServiceSystemPolicyDocumentsFolder访问文稿文件夹的系统策略权限。kTCCServiceSystemPolicyDownloadsFolder访问下载文件夹的系统策略权限。kTCCServiceSystemPolicyNetworkVolumes访问网络卷的系统策略权限。kTCCServiceSystemPolicyRemovableVolumes访问可移动卷的系统策略权限。kTCCServiceUbiquity
有了包名和权限名就能唯一定位一个应用程序和一个权限了接着剩下的值找已经有摄像头/麦克风权限的软件抄一抄
SELECT * FROM access where service kTCCServiceMicrophone
SELECT * FROM access where service kTCCServiceCamera 于是就有了下列语句给 chrome 添加摄像头/麦克风权限
INSERT INTO access VALUES(kTCCServiceMicrophone,com.google.Chrome,0,2,2,1,NULL,NULL,NULL,UNUSED,NULL,0,1637381304);
INSERT INTO access VALUES(kTCCServiceCamera,com.google.Chrome,0,2,2,1,NULL,NULL,NULL,UNUSED,NULL,0,1637381304);还有能 run 的 python 代码我放在这了这个是给 edge 加摄像头权限的根据需要自行更改
import sqlite3# 连接到 SQLite 数据库文件
conn sqlite3.connect(r/Users/xxx/Library/Application Support/com.apple.TCC/TCC.db) # 替换 example.db 为你的数据库文件名# 创建一个游标对象来执行 SQL 查询
cursor conn.cursor()# 执行 SQL 查询
# cursor.execute(SELECT * FROM access where client com.tencent.meeting ) # 替换 your_table_name 为你的表名
# cursor.execute(SELECT * FROM access where client com.microsoft.edgemac ) # 替换 your_table_name 为你的表名
# cursor.execute(PRAGMA table_info(access))
cursor.execute(INSERT INTO access VALUES(kTCCServiceCamera,com.microsoft.edgemac,0,2,2,1,NULL,NULL,NULL,UNUSED,NULL,0,1637381304);)
conn.commit() # 提交事务# 获取查询结果
result cursor.fetchall()# 遍历结果并处理数据
for row in result:print(row) # 在这里你可以根据需要处理每一行的数据# 关闭游标和数据库连接
cursor.close()
conn.close()