<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INIntentResolutionResult",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(cs)INIntentResolutionResult"
  },
  "title" : "INIntentResolutionResult"
}
-->

# INIntentResolutionResult

A resolution result for a parameter of an intent object.

```
class INIntentResolutionResult
```

## Overview

An [`INIntentResolutionResult`](/documentation/Intents/INIntentResolutionResult) object describes how your app resolves a parameter of an intent object. This class is abstract and you don’t create instances of it directly. Instead, you use class methods to instantiate the appropriate subclass whose type matches the type of data that you’re trying to resolve. This class defines methods that are common to all resolution result objects.

During the resolution phase of a request, each parameter you resolve requires a resolution result object of a specific type. When creating that resolution result object, use the class method that represents your resolution. Subclasses of [`INIntentResolutionResult`](/documentation/Intents/INIntentResolutionResult) define methods for returning a successful resolution and may contain other methods for confirming values or disambiguating from among several possible values. Use the methods of this class when a value isn’t required, when a required value is missing, or when the value specified by the user doesn’t correspond to a supported solution.

When creating resolution result objects, always strive toward successful resolutions. If needed, take advantage of information you’ve regarding the user’s behavior patterns or interactions with your app. For example, if the user always has the same workout goals, use the previous workout goals as default values rather than asking the user to specify goal information.

## Topics

### Common Results

[`confirmationRequiredWithItemToConfirm:forReason:`](/documentation/Intents/INIntentResolutionResult/confirmationRequiredWithItemToConfirm:forReason:)

Creates an object whose resolution indicates that your app requires confirmation of the specified value.

[`unsupportedWithReason:`](/documentation/Intents/INIntentResolutionResult/unsupportedWithReason:)

Creates an object whose resolution indicates that your app doesn’t support the specified value.

[`needsValue()`](/documentation/Intents/INIntentResolutionResult/needsValue())

Creates an object whose resolution indicates that a required parameter value is missing.

[`notRequired()`](/documentation/Intents/INIntentResolutionResult/notRequired())

Creates an object whose resolution indicates that you don’t need the value of the parameter.

[`unsupported()`](/documentation/Intents/INIntentResolutionResult/unsupported())

Creates an object whose resolution indicates that your app doesn’t support the specified value.



---

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)