Shortcut è uno scenario di automazione nell'app Shortcuts di Apple, che collega azioni di più app e servizi senza scrivere codice. Gli Shortcuts vengono avviati tramite voce con Siri, secondo una pianificazione, quando si entra o esce da una geofence, toccando un widget o toccando un tag NFC. Lo scenario viene creato visivamente tramite il costruttore Actions trascinando blocchi. Per maggiori dettagli, consulta la Guida utente Shortcuts.
Punti chiave
Shortcut è una sequenza di azioni (Actions) combinate in un unico scenario per automatizzare attività su iOS, iPadOS, macOS e watchOS. A differenza di un'app normale, uno Shortcut non ha un'interfaccia permanente — viene eseguito in background o mostra finestre di dialogo rapide solo per l'inserimento dati. L'utente crea uno scenario nell'app Shortcuts combinando blocchi dalla galleria Actions e lo avvia con un tocco, tramite voce o automaticamente tramite un trigger.
App Shortcuts — un costruttore di automazione integrato di Apple, disponibile su tutti i dispositivi con iOS 13+, iPadOS, macOS 12+ e watchOS. La libreria Actions include oltre 300 blocchi integrati: sistema (inviare messaggio, chiamare, aprire app), multimediali (foto, musica, podcast), internet (API REST tramite Get Contents of URL), lavoro con file e documenti. La galleria contiene scenari pronti di Apple e della comunità — dall'invio dell'ETA a un contatto alla rinomina in batch di file.
Liberia Actions viene ampliata da app di terze parti tramite il framework App Intents. Lo sviluppatore registra gli intent in Intents.intentdefinition, e questi appaiono automaticamente nella galleria Shortcuts. Ad esempio, Things 3 aggiunge le Actions «Crea attività» e «Mostra attività di oggi», mentre CARROT Weather aggiunge «Previsioni di oggi» con parametri di posizione.
Shortcuts opera all'interno della sandbox iOS — lo scenario viene eseguito in un processo in background chiamato shortcuted con permessi limitati. Ogni Action è una chiamata a un gestore predefinito che riceve parametri di input, esegue l'operazione e restituisce un risultato. Il sistema passa l'output di un Action come input al successivo tramite una pipeline — l'utente vede questo come punti di connessione blu tra i blocchi nell'editor.
Flusso di esecuzione di uno Shortcut è lineare: le Actions vengono eseguite sequenzialmente dall'alto verso il basso. Le ramificazioni condizionali sono implementate con blocchi If — il sistema valuta la condizione ed esegue il ramo corrispondente. Sono disponibili cicli: Repeat (ripeti N volte), Repeat with Each (itera sugli elementi della lista) e For Each. Un errore in un Action interrompe l'intero scenario a meno che non venga aggiunto un blocco Try/Catch.
import Intents
class OrderCoffeeIntentHandler: NSObject, OrderCoffeeIntentHandling {
func handle(intent: OrderCoffeeIntent,
completion: @escaping (OrderCoffeeIntentResponse) -> Void) {
let order = Order(coffee: intent.coffee, size: intent.size)
placeOrder(order) { success in
let response = success
? OrderCoffeeIntentResponse.success(coffee: intent.coffee)
: OrderCoffeeIntentResponse.failure(error: "Order failed")
completion(response)
}
}
}
Ogni gestore Intents viene registrato in Info.plist tramite la chiave INIntentsSupported. Quando uno Shortcut viene avviato tramite Siri, il sistema trova l'IntentHandler appropriato e lo esegue in modo asincrono. La risposta viene restituita come oggetto INIntentResponse contenente stato, messaggio e dati opzionali da visualizzare all'utente.
Creare uno Shortcut inizia toccando «+» nella galleria dell'app Shortcuts. L'utente seleziona Actions dalle categorie: App, Script, Web, File, Salute, Musica e altre. Ogni Action è configurabile — campi di input, interruttori, elenchi. Dopo l'assemblaggio, lo scenario viene testato con il pulsante Play e il blocco problematico viene evidenziato in caso di errori. Per condividere, lo Shortcut viene esportato come file .shortcut per l'invio tramite AirDrop o iMessage.
Variabili e Magia Shortcuts supporta le variabili — i dati di output di un Action possono essere passati a un altro. Le Magic Variable vengono determinate automaticamente: se l'Action precedente restituisce un'immagine, il sistema la suggerisce nei parametri dell'Action successiva. L'utente può anche creare variabili con nome tramite il blocco Set Variable e usarle in qualsiasi punto dello scenario.
import AppIntents
struct CreateTaskIntent: AppIntent {
static var title: LocalizedStringResource = "Create Task"
static var description = IntentDescription(
"Creates a new task in your to-do list"
)
@Parameter(title: "Task Title")
var taskTitle: String
func perform() async throws -> some IntentResult {
let task = TaskModel(title: taskTitle)
try await Database.shared.save(task)
return .result(dialog: "Task created")
}
}
App Intents è un framework moderno di Apple (iOS 16+, SwiftUI) che ha sostituito Intents per gli intent personalizzati. A differenza del vecchio SiriKit, App Intents funziona senza il runtime Objective-C, supporta l'asincronia tramite async/await e genera automaticamente dialoghi per Siri. Una struct CreateTaskIntent viene marcata con il protocollo AppIntent e i parametri vengono marcati con l'attributo @Parameter. Il framework crea automaticamente un Action nella galleria Shortcuts.
I trigger di Shortcuts sono condizioni in base alle quali uno scenario viene avviato automaticamente. La configurazione viene effettuata nella scheda Automazione dell'app Shortcuts. I trigger si dividono in personali (ora, posizione, ricarica), sensoriali (NFC, scossa), di sistema (apertura app, modalità focus, connessione CarPlay) e basati su eventi (ricezione email, evento calendario, notifica). Ogni trigger può essere impostato per l'esecuzione immediata o con richiesta di conferma.
| Trigger | Condizione di avvio | Esempio di utilizzo |
|---|---|---|
| Ora | Ora specifica, alba/tramonto | Attivare Non disturbare alle 22:00 |
| Geofence | Entrata o uscita da un'area | Inviare «Sto tornando a casa» uscendo dal lavoro |
| NFC | Tocco di un tag NFC | Avviare scenario «Casa intelligente» toccando un tag |
| App | Apertura o chiusura di un'app | Ricordare di spegnere il timer chiudendo YouTube |
| Focus | Cambio della modalità focus | Attivare tema scuro all'attivazione della modalità Sonno |
| Ricarica | Connessione/disconnessione alimentazione | Aprire widget ricarica collegando MagSafe |
Automazione è una funzionalità chiave di Shortcuts, non disponibile per le app normali senza privilegi di sviluppatore. L'utente imposta un trigger una volta e dimentica — lo scenario viene eseguito in background senza intervento. Ad esempio, l'automazione «Quando arrivo a casa, accendi il Wi-Fi e disattiva la modalità silenziosa» si attiva entrando nella geofence di casa. Il sistema richiede l'autorizzazione per l'automazione durante la configurazione iniziale e può disabilitarla se usata raramente.
Shortcuts su macOS — da macOS 12 Monterey, Shortcuts è disponibile su Mac. Gli scenari si sincronizzano tramite iCloud tra tutti i dispositivi Apple. Su Mac, sono supportate le Actions di sistema: Finder, Terminale, Automator e AppleScript. Gli sviluppatori macOS possono aggiungere Actions tramite App Intents in modo simile a iOS.
App Intents è il framework principale per integrare un'app con Shortcuts su iOS 16+ e macOS 13+. Lo sviluppatore crea una struct che implementa il protocollo AppIntent, descrive i parametri tramite property wrapper e implementa il metodo perform(). Il sistema registra automaticamente l'intent in Shortcuts, Siri e Spotlight. Per supportare le versioni iOS precedenti (10–15), viene utilizzato il framework Intents con INIntent e IntentHandler.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
Testare App Intents — il debug degli intent viene eseguito tramite Xcode: seleziona lo schema dell'app, passa -intents in Arguments, e il simulatore mostrerà un elenco di intent registrati da testare. Per testare uno Shortcut in un ambiente vicino a quello reale, crea un archivio dell'app e installalo su un dispositivo tramite TestFlight. Gli Shortcuts dell'app appaiono nella galleria dopo il primo avvio.
Funzionalità avanzate App Intents supporta parametri con completamento automatico (opzioni dinamiche), conferma prima dell'esecuzione, intent per Siri (scorciatoie vocali) e creazione di widget con pulsanti di avvio. Indexed intent (iOS 17+) sono intent che Siri suggerisce automaticamente all'utente in base al contesto: ora, posizione e cronologia delle azioni.
Domande frequenti
Shortcut è uno scenario che collega azioni di diverse app, non un'applicazione indipendente. L'utente non scrive codice ma assembla uno scenario da blocchi Actions pronti. Uno Shortcut viene attivato ed eseguito senza aprire l'app Shortcuts, mentre un'app normale richiede l'avvio tramite un'icona sullo schermo.
Shortcuts supporta i trigger: ora pianificata, geofence entrando o uscendo da un'area, tag NFC toccando un iPhone, apertura app, tocco widget, comando vocale Siri, connessione del caricabatterie, modalità sonno e modalità focus, oltre a notifiche specifiche delle app. La configurazione viene effettuata nella scheda Automazione.
Sì, uno Shortcut viene esportato come file .shortcut e può essere inviato tramite AirDrop, iMessage o pubblicato nella galleria Shortcuts tramite iCloud. Il destinatario importa lo scenario e può utilizzarlo. Durante il download da Internet, iOS richiede conferma e avvisa dell'esecuzione di scenari non verificati a causa di potenziali rischi per la sicurezza.
Le app di terze parti aggiungono Actions tramite il framework App Intents su iOS 16+ o il framework Intents su versioni precedenti. Lo sviluppatore registra le azioni in Intents.intentdefinition e queste appaiono nella galleria Actions dell'app Shortcuts. L'utente combina Actions di diverse app — ad esempio, inviare un link da Safari alle note Bear.
No, gli Shortcuts vengono creati visivamente senza codice. L'utente trascina e rilascia blocchi Actions dall'elenco, configura i parametri e li collega sequenzialmente. Per scenari avanzati, sono disponibili blocchi come Run Script Over SSH, Get Contents of URL e Control Flow If, Repeat, For Each, ma l'esperienza di programmazione non è richiesta.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche