Instance Method


Delivers a notification payload and a user-selected action to the interface controller.


func handleAction(withIdentifier identifier: String?, for notification: UNNotification)



The action selected by the user. The string is the identifier for an action that was registered by the companion iOS app; it identifies which button was tapped by the user. Use the identifier to perform the associated action. This parameter is set to the empty string when the user launches the app without tapping one of the action buttons.


The notification object that triggered this event.


If your extension delegate does not implement the handleAction(withIdentifier:for:withResponseInfo:) method, WatchKit calls this method on your app’s root interface controller to respond to button taps in your notification interfaces. If your containing iOS app supports interactive notifications, the identifier parameter may contain the action identifier of the button that was tapped. Use that value to perform the requested action. If the identifier parameter contains an empty string, that means the user launched your Watch app from the notification interface without choosing a specific action.

The system calls this method on your WatchKit extension’s main thread. The super implementation of this method does nothing.

For information about how to support interactive notifications in your iOS app, see UserNotifications. For information about how to display a custom interface for notifications, see App Programming Guide for watchOS.

See Also

watchOS 1 Methods

class func openParentApplication([AnyHashable : Any], reply: (([AnyHashable : Any], Error?) -> Void)?) -> Bool

Sends data from your WatchKit extension running in watchOS 1 to your iOS app.