如何使用 Objective-C 检查家长控制
How to check Parental Controls with Objective-C
我需要知道当前用户是否受 Mac OS X 家长控制(更具体地说,应用年龄限制)的管理,以阻止应用的某些内容。我怎样才能做到这一点?这些中的任何一个都足够了。
可以使用 Objective-C 实现但不一定使用 Objective-C 的方法,如 bash 命令或 AppleScript 命令,也被接受。
编辑: 可以在此处找到应用年龄限制:https://ibb.co/mOZyww
首先,我不确定你所说的
是什么意思
app age restrictions
在 macOS 10.13 上,我只看到将应用程序限制到白名单的选项;我无法根据年龄配置限制。
无论如何,家长控制存储在本地目录服务中,在相关用户的 mcx_attributes
属性中。
(mcx 指的是旧的 Managed Preference 框架)
您可以使用目录实用程序通过 UI 或通过 dscl
(使用 mcx 插件)浏览此内容。
如果您 运行 dscl
,则可以使用 cd
、ls
等浏览目录服务
例如,我可以导航到我的测试用户:
cd /Local/Default/Users/testuser
然后使用 mcxexport
转储家长控制
-mcxexport .
这将为您提供 XML 格式的已配置家长控制。
查看 dscl . -mcxhelp
了解更多信息。
已更新
切换 "Restrict: Apps to:" 设置会更新此首选项键:
<key>gamesLimit</key>
<dict>
<key>state</key>
<string>always</string>
<key>value</key>
<integer>300</integer>
</dict>
您必须仔细研究它才能找出相应的值(例如 300 == 12 岁以上)
我需要知道当前用户是否受 Mac OS X 家长控制(更具体地说,应用年龄限制)的管理,以阻止应用的某些内容。我怎样才能做到这一点?这些中的任何一个都足够了。
可以使用 Objective-C 实现但不一定使用 Objective-C 的方法,如 bash 命令或 AppleScript 命令,也被接受。
编辑: 可以在此处找到应用年龄限制:https://ibb.co/mOZyww
首先,我不确定你所说的
是什么意思app age restrictions
在 macOS 10.13 上,我只看到将应用程序限制到白名单的选项;我无法根据年龄配置限制。
无论如何,家长控制存储在本地目录服务中,在相关用户的 mcx_attributes
属性中。
(mcx 指的是旧的 Managed Preference 框架)
您可以使用目录实用程序通过 UI 或通过 dscl
(使用 mcx 插件)浏览此内容。
如果您 运行 dscl
,则可以使用 cd
、ls
等浏览目录服务
例如,我可以导航到我的测试用户:
cd /Local/Default/Users/testuser
然后使用 mcxexport
-mcxexport .
这将为您提供 XML 格式的已配置家长控制。
查看 dscl . -mcxhelp
了解更多信息。
已更新
切换 "Restrict: Apps to:" 设置会更新此首选项键:
<key>gamesLimit</key>
<dict>
<key>state</key>
<string>always</string>
<key>value</key>
<integer>300</integer>
</dict>
您必须仔细研究它才能找出相应的值(例如 300 == 12 岁以上)