本文翻译自Launch Services Programming Guide。
Launch Services是一种API,它能使运行中的应用程序能够以相似于Finder或Dock的形式关上其余应用程序,或文档文件,或URL(对立资源定位符)。
应用Launch Services,应用程序能够执行以下工作:
* 关上(启动或激活)另一个应用程序* 在另一个应用程序中打开文档或URL* 指定用于关上给定文档或URL的首选应用程序* 注册无关应用程序可能关上的文档文件和URL品种的信息* 获取适当的信息以在屏幕上显示文件或URL,例如其图标,显示名称和品种名称* 保护和更新“最近的我的项目”菜单中的内容
只管大多数这些服务通常由Finder执行,但其余应用程序也可能将用它们实现以下目标:关上电子邮件附件,打开文档中嵌入的URL,运行帮忙程序或关上由另一个应用程序创立的嵌入文档组件,或者要求它进行查看或编辑。
Launch Services的许多性能以前都是由Desktop Manager提供的。然而,随着Mac应用程序bundles的呈现,Desktop Manager失去了它的用途,因为它不理解bundled的应用程序,而只是疏忽了它们。同样,Launch Services用于解决URL的性能以前是通过Internet Config API实现的。 Launch Services用提供相似性能的新API代替并取代了Desktop Manager和Internet Config,但该API旨在在OS X环境中失常运行。
Launch Services是专门为防止应用程序广泛要求Finder为其关上应用程序,文档或URL而创立的。过来,以相似于Finder的形式关上此类我的项目须要理解多个API,包含Desktop Manager,File Manager,Translation Manager,Internet Config,Process Manager和Apple Event Manager。 Finder还具备桌面数据库的隐性常识以及其余信息(指确定关上给定文档的正确应用程序的信息,无奈在其余中央获取)。
Launch Services从Finder中删除了这些专业知识,并将其隔离在任何应用程序都能够应用的单个简略API中。 OS X Finder依据用户的申请应用Launch Services关上应用程序,文档和URL。因为Finder除了调用Launch Services外没有其余操作,因而,为这些目标应用Launch Services的任何客户端都能够保障能够实现与Finder自身雷同的行为。
谁应该浏览本文件
本文档实用于其应用程序须要关上其余应用程序,关上属于它们的文档文件或URL,或以相似于Finder的形式在屏幕上显示文件或URL的所有开发人员。 无关Launch Services API的更多详细信息,请参阅相干文档 Launch Services Reference ,其中提供了对Launch Services函数,数据类型,常量和后果代码的全面形容。
本文件的组织
本文档蕴含以下章节:
Launch Services Concepts 从开发人员和用户的角度提出了Launch Services API背地的概念性思维。
Launch Services Tasks 介绍了如何应用Launch Services在应用程序中执行常见工作。
Glossary 定义了与Launch Services及其操作无关的各种术语。