Skip to content
axintdocs

param helpers

Every param.* helper returns a ParamSpec describing a single App Intent parameter. You use them inside the params object of defineIntent().

Helper Swift type Notes
param.string(desc) String
param.int(desc) Int
param.double(desc) Double
param.float(desc) Float
param.boolean(desc) Bool
param.date(desc) Date
param.duration(desc) Measurement<UnitDuration>
param.url(desc) URL
param.number(desc) Int Deprecated — alias for param.int, removed in 1.0.0

Every helper accepts a second options argument:

param.string("Body of the message", {
optional: true,
default: "Hi!",
});
Option Type Default What it does
optional boolean false Makes the parameter non-required
default T Default value (only valid if optional: true)

Axint distinguishes between Int, Double, and Float because App Intents users sometimes need integer constraints (page numbers, quantities) and sometimes need full floating point (GPS coordinates, temperatures).

params: {
pageNumber: param.int("Which page"),
latitude: param.double("Latitude in degrees"),
temperature: param.float("Temperature in Celsius"),
}

All three compile to different Swift types, not one collapsed NSNumber.

v0.1.x only had param.number, which always mapped to Swift Int. That turned out to be wrong for anything GPS-related, so v0.2.0 split it into int, double, and float. param.number is preserved as a deprecated alias and will be removed in v1.0.0.