2

有没有办法使用可可以编程方式编辑系统首选项?是否需要一些框架?我需要这样做来更改全局代理设置。另外,我的应用程序是沙盒的。有没有关于如何做到这一点的示例代码?谢谢你的帮助。

4

1 回答 1

2

您正在寻找系统配置框架,但这并不容易。我认为沙盒应用程序不可能,因为它需要 root 权限。(就像您必须以管理员身份验证才能修改系统偏好设置的网络窗格中的设置。)请参阅系统配置编程指南。除其他外,他们说:

需要创建或复制集合,或者激活或停用服务的应用程序具有更复杂的任务。他们必须使用低级配置 API。此外,要开发这些应用程序,您必须了解并使用系统配置模式来解释和构建描述新集合和服务的字典。

同样重要的是要认识到要修改网络首选项(换句话说,要更改持久存储),您的应用程序必须获得 root 权限。这不是一项微不足道的任务。有关更多信息,您可以阅读授权服务编程指南并查看 http://developer.apple.com/samplecode/Security/idxAuthorization-date.html上提供的代码示例 AuthSample 和 MoreAuthSample 。

目前,低级配置 API 非常基础,使用起来有些困难。事实上,要执行常见操作,例如创建新集合,您必须将系统配置 API 与 I/O Kit 访问相结合。在 Mac OS X 的未来版本中,系统配置框架可能会提供更高级别的 API 来执行此类网络配置任务。

它继续推荐MoreSCF 示例代码,但它已被归入遗留文档部分。

于 2012-05-26T11:17:22.257 回答