<!--
{
  "documentType" : "article",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/resolvers",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Resolvers"
}
-->

# Resolvers

Resolve the parameters of your app intents, and extend the standard resolution
types to include your app’s custom types.

## Overview

System experiences like Siri and the Shortcuts app produce input that doesn’t
always match what your code requires. For example, natural spoken language
commands from Siri are strings, but your app intent might require an integer or
floating-point value instead. Resolvers let the system translate one type to
another automatically.

The system provides resolvers to convert between integer,
floating-point, Boolean, string, and URL types. As needed, the system
can chain multiple resolvers together to translate between types for
which no single resolver exists. For example, it can translate an integer
into a string and then translate the string into a Boolean value. If your
app defines custom types, create your own resolvers to translate those types
to more recognizable values.

## Topics

### Integer resolution

[`IntFromDoubleResolver`](/documentation/AppIntents/IntFromDoubleResolver)

A resolver that converts a double into an integer using the specified rounding rule and validates the result is within the
parameter’s inclusive range.

[`IntFromStringResolver`](/documentation/AppIntents/IntFromStringResolver)

A resolver that converts a string into an integer in the specified base and validates the result is within the parameter’s
inclusive range.

[`IntResolver`](/documentation/AppIntents/IntResolver)

A resolver that validates an integer is within the parameter’s inclusive range.

### Floating-point resolution

[`DoubleFromIntResolver`](/documentation/AppIntents/DoubleFromIntResolver)

[`DoubleFromStringResolver`](/documentation/AppIntents/DoubleFromStringResolver)

A resolver that converts a string into a double and validates the result is within the parameter’s inclusive range.

[`DoubleResolver`](/documentation/AppIntents/DoubleResolver)

A resolver that validates a double is within the parameter’s inclusive range.

### String resolution

[`AttributedStringFromStringResolver`](/documentation/AppIntents/AttributedStringFromStringResolver)

A resolver that converts a string into an attributed string.

[`StringFromDoubleResolver`](/documentation/AppIntents/StringFromDoubleResolver)

A resolver that converts a double into a string.

[`StringFromIntResolver`](/documentation/AppIntents/StringFromIntResolver)

A resolver that converts one or more integers into one or more strings.

### Boolean resolution

[`BoolFromStringResolver`](/documentation/AppIntents/BoolFromStringResolver)

A resolver that converts a string into a Boolean, optionally using a localized display name.

### URL resolution

[`URLFromStringResolver`](/documentation/AppIntents/URLFromStringResolver)

A resolver that converts a string into a URL.

### Custom resolution

[`Resolver`](/documentation/AppIntents/Resolver)

An interface to convert a value from one type to a different type.

### Range validation

[`RangeCheckingResolver`](/documentation/AppIntents/RangeCheckingResolver)

An interface for validating that a value is within a parameter’s defined inclusive range.

[`RangeComparableProperty`](/documentation/AppIntents/RangeComparableProperty)



---

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)