Shortcut é um cenário de automação no aplicativo Shortcuts da Apple, que liga ações de vários aplicativos e serviços sem escrever código. Os Shortcuts são iniciados por voz através da Siri, por horário agendado, ao entrar ou sair de uma cerca geográfica, ao tocar num widget ou ao tocar numa etiqueta NFC. O cenário é criado visualmente através do construtor de Actions arrastando e soltando blocos. Para mais detalhes, consulte o Guia do Utilizador Shortcuts.
Pontos principais
Shortcut é uma sequência de ações (Actions) combinadas num único cenário para automatizar tarefas no iOS, iPadOS, macOS e watchOS. Ao contrário de uma aplicação normal, um Shortcut não tem uma interface permanente — é executado em segundo plano ou mostra diálogos rápidos apenas para entrada de dados. O utilizador cria um cenário na aplicação Shortcuts combinando blocos da galeria de Actions e inicia-o com um toque, por voz ou automaticamente através de um gatilho.
Aplicação Shortcuts — um construtor de automação integrado da Apple, disponível em todos os dispositivos com iOS 13+, iPadOS, macOS 12+ e watchOS. A biblioteca de Actions inclui mais de 300 blocos integrados: sistema (enviar mensagem, ligar, abrir aplicação), multimédia (fotos, música, podcasts), internet (API REST através de Get Contents of URL), trabalho com ficheiros e documentos. A galeria contém cenários prontos da Apple e da comunidade — desde enviar ETA a um contacto até renomear ficheiros em lote.
Biblioteca de Actions é expandida por aplicações de terceiros através do framework App Intents. O programador regista intents em Intents.intentdefinition, e eles aparecem automaticamente na galeria do Shortcuts. Por exemplo, o Things 3 adiciona Actions «Criar tarefa» e «Mostrar tarefas de hoje», enquanto o CARROT Weather adiciona «Previsão de hoje» com parâmetros de localização.
O Shortcuts funciona dentro da sandbox do iOS — o cenário é executado num processo em segundo plano chamado shortcuted com permissões limitadas. Cada Action é uma chamada a um manipulador predefinido que recebe parâmetros de entrada, executa a operação e devolve um resultado. O sistema passa a saída de uma Action como entrada para a seguinte através de um pipeline — o utilizador vê isto como pontos de conexão azuis entre blocos no editor.
Fluxo de execução de um Shortcut é linear: as Actions são executadas sequencialmente de cima para baixo. Ramos condicionais são implementados usando blocos If — o sistema avalia a condição e executa o ramo correspondente. Os ciclos estão disponíveis: Repeat (repetir N vezes), Repeat with Each (iterar sobre itens da lista) e For Each. Um erro numa Action interrompe todo o cenário a menos que seja adicionado um bloco 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)
}
}
}
Cada manipulador de Intents é registado no Info.plist através da chave INIntentsSupported. Quando um Shortcut é iniciado através da Siri, o sistema encontra o IntentHandler apropriado e executa-o de forma assíncrona. A resposta é devolvida como um objeto INIntentResponse contendo um estado, mensagem e dados opcionais para exibição ao utilizador.
Criar um Shortcut começa por tocar em «+» na galeria da aplicação Shortcuts. O utilizador seleciona Actions de categorias: Aplicações, Scripting, Web, Ficheiros, Saúde, Música e outras. Cada Action é configurável — campos de entrada, interruptores, listas. Após a montagem, o cenário é testado com o botão Play, e o bloco problemático é realçado se houver erros. Para partilhar, o Shortcut é exportado como um ficheiro .shortcut para enviar via AirDrop ou iMessage.
Variáveis e Magia O Shortcuts suporta variáveis — os dados de saída de uma Action podem ser passados para outra. As Magic Variables são determinadas automaticamente: se a Action anterior devolver uma imagem, o sistema sugere-a nos parâmetros da seguinte. O utilizador também pode criar variáveis nomeadas através do bloco Set Variable e usá-las em qualquer parte do cenário.
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 é um framework moderno da Apple (iOS 16+, SwiftUI) que substituiu o Intents para intents personalizados. Ao contrário do antigo SiriKit, o App Intents funciona sem o runtime Objective-C, suporta assincronia através de async/await e gera automaticamente diálogos para a Siri. Um struct CreateTaskIntent é marcado com o protocolo AppIntent, e os parâmetros são marcados com o atributo @Parameter. O framework cria automaticamente uma Action na galeria do Shortcuts.
Os gatilhos do Shortcuts são condições sob as quais um cenário é iniciado automaticamente. A configuração é feita no separador Automação da aplicação Shortcuts. Os gatilhos dividem-se em pessoais (hora, localização, carregamento), sensoriais (NFC, agitação), do sistema (abertura de aplicação, modo de foco, ligação ao CarPlay) e baseados em eventos (receber um email, evento de calendário, notificação). Cada gatilho pode ser configurado para executar imediatamente ou exigir confirmação.
| Gatilho | Condição de início | Exemplo de utilização |
|---|---|---|
| Hora | Hora específica, nascer/pôr do sol | Ativar Não incomodar às 22:00 |
| Cerca geográfica | Entrada ou saída de uma área | Enviar «A caminho de casa» ao sair do trabalho |
| NFC | Toque numa etiqueta NFC | Iniciar cenário «Casa inteligente» ao tocar numa etiqueta |
| Aplicação | Abertura ou fecho de uma aplicação | Lembrar de desligar o temporizador ao fechar o YouTube |
| Foco | Mudança de modo de foco | Ativar tema escuro ao ativar o modo Sono |
| Carregamento | Ligar/desligar da alimentação | Abrir widget de carregamento ao ligar o MagSafe |
Automação é uma funcionalidade chave do Shortcuts, indisponível para aplicações normais sem privilégios de programador. O utilizador configura um gatilho uma vez e esquece-se — o cenário é executado em segundo plano sem intervenção. Por exemplo, a automação «Quando chegar a casa, ligar o Wi-Fi e desativar o modo silêncio» é acionada ao entrar na cerca geográfica de casa. O sistema solicita permissão para automação durante a configuração inicial e pode desativá-la se for usada com pouca frequência.
Shortcuts no macOS — desde o macOS 12 Monterey, os Shortcuts estão disponíveis no Mac. Os cenários sincronizam através do iCloud entre todos os dispositivos Apple. No Mac, são suportadas Actions do sistema: Finder, Terminal, Automator e AppleScript. Os programadores de macOS podem adicionar Actions através do App Intents de forma semelhante ao iOS.
App Intents é o framework principal para integrar uma aplicação com o Shortcuts no iOS 16+ e macOS 13+. O programador cria um struct que implementa o protocolo AppIntent, descreve os parâmetros através de property wrappers e implementa o método perform(). O sistema regista automaticamente o intent no Shortcuts, Siri e Spotlight. Para suportar versões antigas do iOS (10–15), é utilizado o framework Intents com INIntent e IntentHandler.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
Testar App Intents — a depuração de intents é feita através do Xcode: selecione o esquema da aplicação, passe -intents em Arguments, e o simulador mostrará uma lista de intents registados para teste. Para testar um Shortcut num ambiente próximo do real, crie um arquivo da aplicação e instale-o num dispositivo através do TestFlight. Os Shortcuts da aplicação aparecem na galeria após o primeiro início.
Funcionalidades avançadas O App Intents suporta parâmetros com preenchimento automático (opções dinâmicas), confirmação antes da execução, intents para a Siri (atalhos de voz) e criação de widgets com botões de início. Indexed intents (iOS 17+) são intents que a Siri sugere automaticamente ao utilizador com base no contexto: hora, localização e histórico de ações.
Perguntas frequentes
Shortcut é um cenário que liga ações de diferentes aplicações, não uma aplicação independente. O utilizador não escreve código, mas monta um cenário a partir de blocos de Actions prontos. Um Shortcut é acionado e executado sem abrir a aplicação Shortcuts, enquanto uma aplicação normal requer inicialização através de um ícone no ecrã.
O Shortcuts suporta gatilhos: hora agendada, cerca geográfica ao entrar ou sair de uma área, etiqueta NFC ao tocar num iPhone, abertura de aplicação, toque no widget, comando de voz da Siri, ligação do carregador, modo de sono e modo de foco, bem como notificações específicas de aplicações. A configuração é feita no separador Automação.
Sim, um Shortcut é exportado como um ficheiro .shortcut e pode ser enviado via AirDrop, iMessage ou publicado na galeria do Shortcuts através do iCloud. O destinatário importa o cenário e pode utilizá-lo. Ao descarregar da internet, o iOS requer confirmação e avisa sobre a execução de cenários não verificados devido a potenciais riscos de segurança.
As aplicações de terceiros adicionam Actions através do framework App Intents no iOS 16+ ou do framework Intents em versões mais antigas. O programador regista as ações em Intents.intentdefinition, e elas aparecem na galeria de Actions da aplicação Shortcuts. O utilizador combina Actions de diferentes aplicações — por exemplo, enviar uma ligação do Safari para as notas do Bear.
Não, os Shortcuts são criados visualmente sem código. O utilizador arrasta e solta blocos de Actions da lista, configura os parâmetros e liga-os sequencialmente. Para cenários avançados, estão disponíveis blocos como Run Script Over SSH, Get Contents of URL e Control Flow If, Repeat, For Each, mas não é necessária experiência em programação.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também