<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INPlayMediaIntentHandling/resolveMediaItems(for:with:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INPlayMediaIntentHandling(im)resolveMediaItemsForPlayMedia:withCompletion:"
  },
  "title" : "resolveMediaItems(for:with:)"
}
-->

# resolveMediaItems(for:with:)

Resolves the media items to play.

```
optional func resolveMediaItems(for intent: INPlayMediaIntent, with completion: @escaping @Sendable ([INPlayMediaMediaItemResolutionResult]) -> Void)
```

## Parameters

`intent`

The object that contains details about the user’s request. Use this object to get any initial information the user may have provided.

`completion`

The block to execute with the resolution. You must execute this block while implementing this method. This block has no return value and takes the following parameter:

- resolutionResult: The object that contains the details of your proposed resolution.

## Discussion

> Important:
> You must implement this resolve method. The other resolve methods in this protocol are optional.

Implement this method to resolve the media items to play. If your app isn’t completely sure of the match, return a few results with the best match first. The system can start playing the first item and offer the alternatives in case the user wants to play one of them instead.

---

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)