---
title: "application(_:handleActionWithIdentifier:forRemoteNotification:withResponseInfo:completionHandler:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uiapplicationdelegate/application(_:handleactionwithidentifier:forremotenotification:withresponseinfo:completionhandler:)"
---

# application(_:handleActionWithIdentifier:forRemoteNotification:withResponseInfo:completionHandler:)

Called when your app has been activated by the user selecting an action from a remote notification.

## Declaration

```swift
optional func application(_ application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [AnyHashable : Any], withResponseInfo responseInfo: [AnyHashable : Any], completionHandler: @escaping () -> Void)
```

```swift
optional func application(_ application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [AnyHashable : Any], withResponseInfo responseInfo: [AnyHashable : Any]) async
```

## Parameters

- `application`: The app object that was activated for the user-selected action.
- `identifier`: The identifier for the custom action.
- `userInfo`: A dictionary that contains information related to the remote notification, potentially including a badge number for the app icon, an alert sound, an alert message to display to the user, a notification identifier, and custom data. The provider originates it as a JSON-defined dictionary that iOS converts to an doc://com.apple.documentation/documentation/Foundation/NSDictionary object; the dictionary might contain only property-list objects plus doc://com.apple.documentation/documentation/Foundation/NSNull.
- `responseInfo`: The data dictionary sent by the action.
- `completionHandler`: A block that you must call when you are finished performing the action.

## Discussion

Discussion A nil value in the identifier parameter indicates the default action. Call the completion handler as soon as you’ve finished handling the action.

## See Also

### Deprecated

- [application(_:didRegister:)](uikit/uiapplicationdelegate/application(_:didregister:).md)
- [application(_:didReceive:)](uikit/uiapplicationdelegate/application(_:didreceive:).md)
- [application(_:didReceiveRemoteNotification:)](uikit/uiapplicationdelegate/application(_:didreceiveremotenotification:).md)
- [application(_:handleActionWithIdentifier:for:completionHandler:)](uikit/uiapplicationdelegate/application(_:handleactionwithidentifier:for:completionhandler:).md)
- [application(_:handleActionWithIdentifier:for:withResponseInfo:completionHandler:)](uikit/uiapplicationdelegate/application(_:handleactionwithidentifier:for:withresponseinfo:completionhandler:).md)
- [application(_:handleActionWithIdentifier:forRemoteNotification:completionHandler:)](uikit/uiapplicationdelegate/application(_:handleactionwithidentifier:forremotenotification:completionhandler:).md)
- [application(_:handleOpen:)](uikit/uiapplicationdelegate/application(_:handleopen:).md)
- [application(_:open:sourceApplication:annotation:)](uikit/uiapplicationdelegate/application(_:open:sourceapplication:annotation:).md)
- [application(_:willChangeStatusBarOrientation:duration:)](uikit/uiapplicationdelegate/application(_:willchangestatusbarorientation:duration:).md)
- [application(_:didChangeStatusBarOrientation:)](uikit/uiapplicationdelegate/application(_:didchangestatusbarorientation:).md)
- [application(_:willChangeStatusBarFrame:)](uikit/uiapplicationdelegate/application(_:willchangestatusbarframe:).md)
- [application(_:didChangeStatusBarFrame:)](uikit/uiapplicationdelegate/application(_:didchangestatusbarframe:).md)
- [application(_:handle:completionHandler:)](uikit/uiapplicationdelegate/application(_:handle:completionhandler:).md)
- [application(_:performFetchWithCompletionHandler:)](uikit/uiapplicationdelegate/application(_:performfetchwithcompletionhandler:).md)
- [application(_:shouldSaveApplicationState:)](uikit/uiapplicationdelegate/application(_:shouldsaveapplicationstate:).md)
