Services are features exported by your application for the benefit of other applications. Services let you share the resources and capabilities of your application with other applications in the system.

Users access services through the Services menu that’s found in every application’s application menu. An application does not need to know in advance what operations are available; the application merely needs to indicate the types of data it uses. The Services menu will make available the operations that apply to those types when they apply.

This document describes how OS X services work, shows some typical Services menus, and provides instructions on how you can use services in your application.

Who Should Read This Document?

You should read this document if you are a Cocoa application developer and want to provide your application’s services to other applications or make services from other applications available to your application.


Before you read this document, you should be familiar with information property lists. You need to know what they are and how to add properties to a list. For more information, see Information Property List Files in Runtime Configuration Guidelines.

For guidelines on naming menu items and for designing the interface for a services application, see OS X Human Interface Guidelines.

Organization of This Document

Read the first three chapters to learn how services work, see examples of services in applications, and learn which properties you use to provide and use services in your applications. The remaining two chapters describe in detail how to provide and use services in your applications.

Changes for OS X v10.6

The Services feature was updated in OS X version 10.6 with the following changes and additions to properties: