我正在尝试开发一些类似于自我控制的软件(它将某些网站列入黑名单一段时间)。但是,我希望能够在OSX上使用应用程序(例如,一个人在访问MineCraft应用程序之前必须回答一些数学问题)。
OSX SDK中是否存在某种家长控制API?我熟悉一些内核开发,但我只是在寻找一个可以查看的起点。
答案 0 :(得分:0)
系统偏好设置包括家长控制选项。搜索com.apple.familycontrols
以查找有关如何与可用设置进行交互的选项。
答案 1 :(得分:0)
我不相信任何允许您这样做的高级API。
但是,正如您所说,您熟悉内核开发,这是最佳选择,实际上它是父母控制的工作方式;使用内核扩展(kext)。
This article解释了内核中授权的4个感兴趣的范围。您需要编写内核扩展并监视VNode范围,该范围将通过调用kext中定义的函数来通知您所有vnode访问的kext。然后,此函数必须返回Accept,Deny或Defer之一。如果您在访问正在执行Execute操作的vNode时调用Deny,那么它将被阻止。
最后,如果您要编写任何内核代码,那么我建议您获取this book的副本,其中包括基于监视vnode范围的示例代码。