Shortcut — automatizálási forgatókönyv az Apple Shortcuts alkalmazásában, amely több alkalmazás és szolgáltatás műveleteit köti össze kód írása nélkül. A Shortcuts hanggal indítható a Siri-n keresztül, ütemezés szerint, geozónába lépéskor vagy onnan kilépve, widget megnyomásával vagy NFC-címke érintésével. A forgatókönyv vizuálisan készül az Actions-szerkesztővel blokkok húzásával. Bővebben — a Shortcuts User Guide oldalon.
Főbb pontok
Shortcut — műveletek (Actions) sorozata, amelyek egyetlen forgatókönyvbe vannak foglalva a feladatok automatizálásához iOS, iPadOS, macOS és watchOS rendszeren. Ellentétben egy szokásos alkalmazással, a Shortcut nem rendelkezik állandó felülettel — a háttérben fut, vagy gyors párbeszédpaneleket jelenít meg csak adatbevitelhez. A felhasználó a Shortcuts alkalmazásban hozza létre a forgatókönyvet az Actions galériából származó blokkok kombinálásával, és egy érintéssel, hanggal vagy automatikusan trigger segítségével indítja el.
Shortcuts alkalmazás — az Apple beépített automatizálási szerkesztője, amely minden iOS 13+, iPadOS, macOS 12+ és watchOS rendszerű eszközön elérhető. Az Actions könyvtár több mint 300 beépített blokkot tartalmaz: rendszer (üzenet küldése, hívás, alkalmazás megnyitása), multimédia (fotó, zene, podcast), internet (REST API a Get Contents of URL segítségével), fájlokkal és dokumentumokkal való munka. A galéria kész forgatókönyveket tartalmaz az Apple-től és a közösségtől — az ETA küldésétől egy kapcsolatnak a fájlnevek tömeges megváltoztatásáig.
Actions könyvtár harmadik féltől származó alkalmazásokkal bővíthető az App Intents keretrendszeren keresztül. A fejlesztő regisztrálja az intent-eket az Intents.intentdefinition fájlban, és azok automatikusan megjelennek a Shortcuts galériában. Például a Things 3 alkalmazás hozzáadja a „Feladat létrehozása" és „Mai teendők megjelenítése" Actions elemeket, a CARROT Weather pedig a „Mai előrejelzés" műveletet hely paraméterekkel.
A Shortcuts működik az iOS homokozóban — a forgatókönyv a shortcuted háttérfolyamatban fut korlátozott jogosultságokkal. Minden Action egy előre definiált kezelő hívása, amely fogadja a bemeneti paramétereket, végrehajtja a műveletet és visszaadja az eredményt. A rendszer az egyik Action kimeneti adatait a pipeline-on keresztül továbbítja a következő Action bemenetére — a felhasználó ezt a blokkok kék csatlakozási pontjaiként látja a szerkesztőben.
A Shortcut végrehajtási folyamata lineáris: az Actions egymás után, felülről lefelé hajtódik végre. A feltételes átmenetek If blokkokkal valósulnak meg — a rendszer kiértékeli a feltételt és végrehajtja a megfelelő ágat. Elérhetők a Repeat (ismétlés N-szer), Repeat with Each (lista elemein) és For Each ciklusok. Egy Action-ben bekövetkező hiba megszakítja a teljes forgatókönyvet, kivéve ha Try/Catch blokk került hozzáadásra.
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)
}
}
}
Minden Intents kezelő regisztrálva van az Info.plist-ben az INIntentsSupported kulcson keresztül. Amikor a Shortcut a Siri-n keresztül indul, a rendszer megtalálja a megfelelő IntentHandler-t és aszinkron módon végrehajtja. A válasz egy INIntentResponse objektum formájában kerül visszaadásra, amely tartalmazza az állapotot, üzenetet és opcionális adatokat a felhasználó számára történő megjelenítéshez.
Shortcut létrehozása a „+" megnyomásával kezdődik a Shortcuts alkalmazás galériájában. A felhasználó Actions elemeket választ kategóriákból: Alkalmazások, Forgatókönyvek, Internet, Fájlok, Egészség, Zene és egyéb. Minden Action konfigurálható — beviteli mezők, kapcsolók, listák. Az összeállítás után a forgatókönyv a Play gombbal tesztelhető, és hiba esetén a problémás blokk kiemelésre kerül. Publikáláshoz a Shortcut .shortcut fájlba exportálható AirDrop vagy iMessage útján történő küldéshez.
Változók és varázslat A Shortcuts támogatja a változókat — egy Action kimeneti adatai átadhatók egy másiknak. A varázsváltozók (Magic Variables) automatikusan meghatározásra kerülnek: ha az előző Action egy képet ad vissza, a rendszer felkínálja azt a következő paramétereiben. A felhasználó elnevezett változókat is létrehozhat a Set Variable blokkon keresztül, és azokat a forgatókönyv bármely pontján használhatja.
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 — egy modern keretrendszer az Apple-től (iOS 16+, SwiftUI), amely felváltotta az Intents-et az egyedi intent-ekhez. A régi SiriKit-tel ellentétben az App Intents Objective-C runtime nélkül működik, támogatja az aszinkronitást az async/await segítségével, és automatikusan generál párbeszédeket a Siri számára. A CreateTaskIntent struct az AppIntent protokollal, a paraméterek pedig a @Parameter attribútummal vannak megjelölve. A keretrendszer maga hozza létre az Action-t a Shortcuts galériában.
Shortcuts triggerek — feltételek, amelyek mellett a forgatókönyv automatikusan elindul. A konfiguráció a Shortcuts alkalmazás Automation lapján történik. A triggerek személyes (idő, hely, töltés), érintéses (NFC, rázás), rendszer (alkalmazás megnyitása, fókusz mód, CarPlay-hez csatlakozás) és esemény (e-mail fogadása, naptáresemény, értesítés) kategóriákba sorolhatók. Minden triggerhez beállítható azonnali vagy megerősítéses végrehajtás.
| Trigger | Indítási feltétel | Használati példa |
|---|---|---|
| Idő | Meghatározott idő, napkelte/napnyugta | „Ne zavarjanak" mód bekapcsolása 22:00-kor |
| Geozóna | Belépés vagy kilépés a területről | „Hazamegyek" üzenet küldése munkából kilépve |
| NFC | NFC-címke érintése | „Okos otthon" forgatókönyv indítása címke érintésekor |
| Alkalmazás | Alkalmazás megnyitása vagy bezárása | Emlékeztető az időzítő kikapcsolására YouTube bezárásakor |
| Fókusz | Focus mód váltása | Sötét téma bekapcsolása a Sleep Focus aktiválásakor |
| Töltés | Tápegység csatlakoztatása/leválasztása | Töltés widget megnyitása MagSafe csatlakoztatásakor |
Automatizálás — a Shortcuts kulcsfontosságú képessége, amely nem érhető el a szokásos alkalmazások számára fejlesztői jogosultság nélkül. A felhasználó egyszer konfigurálja a triggert és elfelejti — a forgatókönyv a háttérben fut részvétel nélkül. Például a „Amikor hazaérek, kapcsold be a Wi-Fi-t és kapcsold ki a néma módot" automatizálás az otthoni geozónába lépéskor indul. A rendszer engedélyt kér az automatizáláshoz az első konfigurációnál, és ritka használat esetén kikapcsolhatja azt.
Shortcuts macOS-en — a macOS 12 Monterey óta a Shortcuts elérhető a Mac-en. A forgatókönyvek iCloud-on keresztül szinkronizálódnak az összes Apple eszköz között. Mac-en támogatottak a rendszer Actions Finder, Terminal, Automator és AppleScript elemek. A macOS fejlesztők az iOS-hez hasonlóan az App Intents segítségével adhatnak hozzá Actions elemeket.
App Intents — a fő keretrendszer az alkalmazás Shortcuts-szal való integrációjához iOS 16+ és macOS 13+ rendszeren. A fejlesztő létrehoz egy struct-ot, amely implementálja az AppIntent protokollt, leírja a paramétereket property wrappers segítségével, és implementálja a perform() metódust. A rendszer automatikusan regisztrálja az intent-et a Shortcuts, Siri és Spotlight rendszerekben. A régebbi iOS verziók (10–15) támogatásához az Intents keretrendszer használatos INIntent és IntentHandler elemekkel.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
App Intents tesztelése — az intent-ek hibakeresése Xcode-on keresztül történik: válassza ki az alkalmazás sémáját, az Arguments-ben adja át a -intents paramétert, és a szimulátor felkínálja a regisztrált intent-ek listáját teszteléshez. A Shortcut valósághű környezetben történő ellenőrzéséhez készítsen archívumot az alkalmazásból, és telepítse az eszközre a TestFlight segítségével. Az alkalmazásból származó Shortcuts az első indítás után jelenik meg a galériában.
Haladó lehetőségek Az App Intents támogatja a paraméterek automatikus kiegészítését (dinamikus opciók), a végrehajtás előtti megerősítést (confirmation), a Siri intent-eket (voice shortcuts) és indítógombokkal ellátott widget-ek létrehozását. Indexed intents (iOS 17+) — intent-ek, amelyeket a Siri automatikusan javasol a felhasználónak a kontextus alapján: idő, hely és műveletek előzményei.
Gyakran Ismételt Kérdések
Shortcut — egy forgatókönyv, amely különböző alkalmazások műveleteit köti össze, nem pedig egy önálló alkalmazás. A felhasználó nem ír kódot, hanem kész Actions blokkokból állítja össze a forgatókönyvet. A Shortcut trigger által indul és a Shortcuts alkalmazás megnyitása nélkül hajtódik végre, míg egy szokásos alkalmazás a képernyőn lévő ikonon keresztül történő indítást igényel.
A Shortcuts támogatja a triggereket: idő ütemezés szerint, geozóna a területre való belépéskor vagy onnan kilépve, NFC-címke az iPhone érintésekor, alkalmazás megnyitása, widget megnyomása, Siri hangparancs, töltő csatlakoztatása, alvó mód és Focus Mode, valamint bizonyos értesítések alkalmazásoktól. A konfiguráció az Automation lapon történik.
Igen, a Shortcut .shortcut fájlba exportálható és AirDrop, iMessage útján küldhető, vagy közzétehető a Shortcuts galériában iCloud-on keresztül. A címzett importálja a forgatókönyvet és használhatja. Internetről történő letöltéskor az iOS megerősítést kér és figyelmeztet az ellenőrizetlen forgatókönyvek futtatásáról a potenciális biztonsági kockázatok miatt.
A harmadik féltől származó alkalmazások az App Intents keretrendszeren keresztül iOS 16+ rendszeren, vagy az Intents keretrendszeren keresztül régebbi verziókon adják hozzá az Actions elemeket. A fejlesztő regisztrálja a műveleteket az Intents.intentdefinition fájlban, és azok megjelennek a Shortcuts alkalmazás Actions galériájában. A felhasználó különböző alkalmazások Actions elemeit kombinálja — például linket küld a Safari-ból a Bear jegyzetekbe.
Nem, a Shortcuts vizuálisan, kód nélkül készül. A felhasználó Actions blokkokat húz a listából, konfigurálja a paramétereket és sorba köti őket. Haladó forgatókönyvekhez elérhetők a Run Script Over SSH, Get Contents of URL és Control Flow If, Repeat, For Each blokkok, de programozási tapasztalat nem szükséges.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is