Xcode上制作系统偏好设置面板项目(Preference Panes)

翻了半天网上没有很多关于这方面的,虽然Apple开发文档里写有。
嘛咱也不是说要翻译这个文档,而是简单介绍一下。
使用prefPane就和iOS的Settings里面的那些第三方程序设置一样,只不过Mac是直接安装到系统偏好设置面板里。而主要的功能就是作为外部设置来设置app,好处就是能变相绕过Sandbox来开启程序内部的一些不被允许的功能,当然同时app因为本身没开启这些功能可以通过Apple的审核上架到MacAppStore。

首先来了解下prefPane的原理,其实prefPane就是一个bundle,和app差不多,同样需要h和m文件,也有info.plist,也需要icon,而UI的话只有一个nib(当然可以做得多个然后之前切换什么的,那些就比较高级了)。而prefPane根据需要可以分成独立的prefPane来执行功能,也可以通过修改目标程序的设置plist文件达到设置app的功能,也可以直接使用NotificationCenter来通知程序:设置已经更改了!快做出反应!
这次主要介绍修改目标程序的偏好设置plist文件,优点是非常简单,缺点就是设置并不能马上生效,必须重新加载读取UserDefault或者重新运行程序。

继续阅读“Xcode上制作系统偏好设置面板项目(Preference Panes)”