-
QuickLook是Leopard(10.5)引入的一项新特性,允许在Finder中快速预览多种不同类型的文件。不需要双击鼠标来打开文件,只需要按下空格键就可以通过QuickLook快速预览文件内容。QuickLook采用的是可扩展的架构,使得大部分工作都由插件完成。这些插件是后缀为.qlgenerator的bundle,只要将这些bundle文件拖放到QuickLook目录(系统范围的QuickLook目录为/System/Library/QuickLook,针对用户个人的QuickLook目录为~/Library/QuickLook)中即可完成插件的安装。
bundle是OS X中使用的一项基础软件部署架构,本章后面会对此详述。现在只要知道一个bundle是一个遵循固定结构的目录层次即可。
实际的插件是一个特殊编译的程序——但不是一个独立的可执行程序。插件程序没有传统的main()入口点,而是实现了QuickLookGeneratorPluginFactory入口点。另外还有一个配置文件负责将插件和对应的文件类型关联起来。文件类型通过苹果的UTI(Uniform Type Identifier)表示,这实际上就是逆DNS表示法(reverse DNS notation)。
为什么使用逆DNS表示法
使用逆DNS表示法作为软件包的标识符是有合理原因的。具体原因为:
因特网DNS格式用于形成主机名称全局唯一的层次名称空间,实际上组成一个树状结构,根节点为空域名(.),顶级域名包括.com、.net和.org等。
在软件中使用类似名称空间的思想最早源于Java。为了避免名称空间的冲突,Sun(现为Oracle)注意到可以使用DNS名称(尽管是倒过来的)提供一种非常类似于文件系统的层次结构。
在阅读本书的过程中您会发现,苹果在OS X中广泛使用了逆DNS表示法。
quicklookd(8)是系统的“QuickLook服务器”,是通过/System/Library/LaunchAgents/com. apple.quicklook.plist文件在登录时启动的。这个后台服务程序本身在QuickLook框架中,而且不带GUI。qlmanage(1)命令的作用是维护插件,并且控制后台服务程序。这条命令的使用如输出清单2-1所示:
输出清单2-1:演示qlmanage(1)的使用
morpheus@Ergo (/) % qlmanage –m
living for 4019s (5 requests handled - 0 generated thumbnails) -
instant off: yes - arch: X86_64 - user id: 501
memory used: 1 MB (1132720 bytes)
last burst: during 0.010s - 1 requests - 0.000s idle
plugins:
org.openxmlformats.wordprocessingml.document ->
/System/Library/QuickLook/Office.qlgenerator (26.0)
com.apple.iwork.keynote.sffkey -> /Library/QuickLook/iWork.qlgenerator
(11)
..
org.openxmlformats.spreadsheetml.template ->
/System/Library/QuickLook/Office.qlgenerator (26.0)
com.microsoft.word.stationery -> /System/Library/QuickLook/Office.qlgenerator (26.0)
com.vmware.vm-package -> /Library/QuickLook/VMware Fusion
QuickLook.qlgenerator (282344)
com.microsoft.powerpoint.pot -> /System/Library/QuickLook/Office.qlgenerator (26.0)
QuickLook
最新推荐文章于 2024-09-13 21:35:43 发布