【发布时间】:2011-03-28 17:34:54
【问题描述】:
在 Objective C 中配置 OS X 网络代理首选项的最佳方法是什么?如果有人有任何非常有用的代码示例。
- 还有-
我一直在互联网上搜索,似乎找不到使用 Objective C 设置 OS X 系统首选项/设置的好资源。谁有好的资源?
【问题讨论】:
标签: objective-c macos operating-system network-programming
在 Objective C 中配置 OS X 网络代理首选项的最佳方法是什么?如果有人有任何非常有用的代码示例。
我一直在互联网上搜索,似乎找不到使用 Objective C 设置 OS X 系统首选项/设置的好资源。谁有好的资源?
【问题讨论】:
标签: objective-c macos operating-system network-programming
普遍不鼓励设置 Mac OS X 系统偏好设置,因为它分散了 [因此违背了] 系统偏好设置的目的。很少有适用于 Mac OS X 的应用程序可以合法地修改系统行为/配置,目前我什至想不出一个。
每个 OS X 版本之间的实际代理信息可能不同,但在我的 10.6 系统上,它包含在文件中:
/Library/Preferences/SystemConfiguration/preferences.plist
这只是一个简单的 XML 属性列表文件,可以使用 NSPropertyListSerialization 类进行解析和重新生成。请注意,代理的密码存储在其他地方(我认为您需要使用标准的Keychain Services 来获取密码)。上面的文件是非root用户只读的,只有root可以读写,所以如果你真的想编辑这个文件的内容,你的应用程序必须获得root权限。 Apple 在获得这些特权时有一个programming guide。
【讨论】:
NSPropertyListSerialization 链接失效。新链接here.
快速浏览这里...:
http://osx.hyperjeff.net/Apps/apps?f=preference
...揭示...
AMPreferencePane - 用于创建首选项窗格的 Cocoa 类
SS_PrefsController - 首选项窗口 Cocoa 类
sysprefs - 更改/查看系统网络首选项的实用程序
UKPrefsPanel - Preference 窗口的 Cocoa 辅助类
也许还有参考命令行工具networksetup(8)和systemsetup(8)的示例代码,可能类似于...
ncutil - 网络配置实用程序(src:是)
出于部署目的,请查看:
InstaDMG - 模块化创建部署包的工具
DeployStudio - 完整的工作站安装/恢复实用程序
Hyperjeff 的 Cocoa 文献列表也有一个网络部分!
HTH
【讨论】: