IMKServer Class Reference

Inherits from
Conforms to
IMKServerProxy
NSObject (NSObject)
Framework
System/Library/Frameworks/InputMethodKit.framework
Availability
Available in OS X v10.5 and later.
Declared in
IMKServer.h
Related sample code

Overview

The IMKServer class manages client connections to your input method. When you write the main function for your input method, you create an IMKServer object. You should never need to override this class.

Tasks

Initializing a Server Object

Getting a Bundle for the Input Method

Instance Methods

bundle

Returns an NSBundle object for the input method.

- (NSBundle*)bundle
Return Value

An NSBundle object that is either created from the bundle identifier contained in the server object, or from the main bundle.

Availability
  • Available in OS X v10.5 and later.
Declared In
IMKServer.h

initWithName:bundleIdentifier:

Creates and returns a server object from property list information contained in the provided bundle.

- (id)initWithName:(NSString*)name bundleIdentifier:(NSString*)bundleIdentifier
Parameters
name

The name to initialize the server object with.

bundleIdentifier

The bundle identifier.

Return Value

An initialized server object.

Discussion

This method examines the Info.plist file for the entries shown in Table 1. The class names are loaded, but no classes are instantiated. Additionally, an NSConnection object is allocated and registered using the input method connection name supplied in the Info.plist file.

Table 1  Required entries in the Info.plist file

Key

Value

LSBackgroundOnly

The associated value is 1, because input methods are background-only applications.

InputMethodConnectionName

A string that specifies an input method connection name that names the connection through which your input method services are published. The Input Method Kit uses this name to create an NSConnection object through which clients deliver text input.

InputMethodServerControllerClass

An input controller class.

tsInputMethodIconFileKey

An icon file name. The icon is used to display your input method in the International pane of System Preferences.

tsInputMethodCharacterRepertoireKey

An array of one or more ISO language codes that specify the character repertoire of your input method. The codes help categorize your input method to the user.

Availability
  • Available in OS X v10.5 and later.
Related Sample Code
Declared In
IMKServer.h

initWithName:controllerClass:delegateClass:

Creates and returns a server object initialized with the provided parameters.

- (id)initWithName:(NSString*)name controllerClass:(Class)controllerClassID delegateClass:(Class)delegateClassID
Parameters
name

The name to initialize the server object with.

controllerClassID

The id for the input controller class.

delegateClassID

The id for the delegate class.

Return Value

An initialized server object.

Availability
  • Available in OS X v10.5 and later.
Declared In
IMKServer.h

Constants

IMKModeDictionary

The input method mode dictionary key.

extern const *NSString IMKModeDictionary;
Constants
IMKModeDictionary

The key used to obtain an input method mode dictionary from the input method bundle.

Available in OS X v10.5 and later.

Declared in IMKServer.h.

Discussion

For details on the contents of the input mode dictionary, see Technical Note TN2128 Frequently Asked Text Services Manager (TSM) Questions located in Technical Notes > Carbon > Events & Other Input.

Declared In
IMKServer.h

IMKControllerClass

The input method controller class key.

extern const *NSString IMKControllerClass;
Constants
IMKControllerClass

The key used to find an input method input controller class name from the input method bundle.

Available in OS X v10.5 and later.

Declared in IMKServer.h.

Declared In
IMKServer.h

IMKDelegateClass

The input method delegate class key.

extern const *NSString IMKDelegateClass;
Constants
IMKDelegateClass

The key used to find an input method delegate class name from the input method bundle.

Available in OS X v10.5 and later.

Declared in IMKServer.h.

Declared In
IMKServer.h