Services Implementation Guide

Introduction

Note: This document was previously titled System Services.

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.

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:

A slash is no longer treated as specifying a submenu with NSMenuItem.

NSSendTypes and NSReturnTypes no longer need to be specified.

There are three new properties: NSSendFileTypes, NSServiceDescription, and NSRequiredContext.