<!--
{
  "availability" : [
    "iOS: 4.0.0 -",
    "iPadOS: 4.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIResponder/remoteControlReceived(with:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIResponder(im)remoteControlReceivedWithEvent:"
  },
  "title" : "remoteControlReceived(with:)"
}
-->

# remoteControlReceived(with:)

Tells the object when a remote-control event is received.

```
func remoteControlReceived(with event: UIEvent?)
```

## Parameters

`event`

An event object encapsulating a remote-control command. Remote-control events have a type of [`UIEvent.EventType.remoteControl`](/documentation/UIKit/UIEvent/EventType/remoteControl).

## Discussion

Remote-control events originate as commands from external accessories, including headsets. An app responds to these commands by controlling audio or video media presented to the user. The receiving responder object should examine the [`subtype`](/documentation/UIKit/UIEvent/subtype) of `event` to determine the intended command — for example, *play* ([`UIEvent.EventSubtype.remoteControlPlay`](/documentation/UIKit/UIEvent/EventSubtype/remoteControlPlay)) — and then proceed accordingly.

To allow delivery of remote-control events, you must call the [`beginReceivingRemoteControlEvents()`](/documentation/UIKit/UIApplication/beginReceivingRemoteControlEvents()) method of [`UIApplication`](/documentation/UIKit/UIApplication). To turn off delivery of remote-control events, call the [`endReceivingRemoteControlEvents()`](/documentation/UIKit/UIApplication/endReceivingRemoteControlEvents()) method.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)