首页 > 解决方案 > OSX 系统完整性保护 (SIP) 删除应用程序

问题描述

我在 OSX 10.14、XCode 10、objective-c

我目前正在开发一个工作流来解释用户为什么他需要接受我的应用程序的自动化,解释如何手动激活它等等。

出于测试原因,最好在系统偏好设置中删除我列出的应用程序,以便我可以多次测试此过程。

例如在图片中:例如,我怎样才能完全删除谷歌浏览器?

在此处输入图像描述

编辑: 我无法打开存储此信息的 TCC 数据库:

在此处输入图像描述

标签: objective-cmacossystem-preferences

解决方案


对于您当前的用户,这些权限存储在 TCC 数据库中:

~/Library/Application Support/com.apple.TCC/TCC.db

这是一个 SQLite 数据库,因此您可以使用您选择的编辑器对其进行编辑。

该表称为access自动化
中列出的应用程序将作为服务提供。kTCCServiceAppleEvents

您可以简单地删除它们并保存数据库。

编辑

这不是存储在 中的全局TCC 数据库/Library,受 SIP 保护。
注意~,表示它在您用户的文件夹中:/Users/xxx/Library/...
即使启用了 SIP,此文件夹也是可编辑的。

编辑 2

所以看起来本地 TCC 数据库也受到保护。
文件系统保护仅对针对 macOS 10.14 SDK 构建的应用程序有效——这就是我能够使用某些第三方客户端对其进行编辑的原因。

所以我想唯一的解决方案是不幸地禁用 SIP。


推荐阅读