The interface for dispatching intents to the custom objects that handle those intents.


protocol INIntentHandlerProviding


The INIntentHandlerProviding protocol defines the method for routing SiriKit requests to the appropriate objects of your Intents extension. The method in this protocol acts as a dispatcher, returning an object capable of resolving, confirming, and handling a specific intent object. This protocol is adopted by the INExtension class and you must provide a custom implementation.

When you add an Intents extension to your project, Xcode automatically creates a default INExtension subclass that adopts this protocol. Modify the handler(for:) method in that subclass and use it to create your handler objects. You can use the same class to handle multiple intents or you can use different classes for each intent.


Providing Handlers for Intents

func handler(for: INIntent) -> Any?

Returns the object capable of handling the specified intent.



Inherits From

Conforming Types

See Also

Siri Intents

Creating an Intents App Extension

Add and configure an Intents app extension in your Xcode project.

Structuring Your Code to Support App Extensions

Move your back-end services to a private framework so your app and app extensions can use them.

Dispatching Intents to Handler Objects

Provide SiriKit with an object capable of handling a given intent.

Resolving and Handling Intents

Resolve, confirm, and handle user requests for your app’s services.

Extension-Related Classes

Learn about the classes you use to build your Intents extension.