param helpers
Every param.* helper returns a ParamSpec describing a single App Intent
parameter. You use them inside the params object of defineIntent().
Type mapping
Section titled “Type mapping”| 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 |
Options
Section titled “Options”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) |
Numeric precision
Section titled “Numeric precision”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.
Deprecated: param.number
Section titled “Deprecated: param.number”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.