Shortcut — ένα σενάριο αυτοματοποίησης στην εφαρμογή Shortcuts της Apple που συνδέει ενέργειες πολλών εφαρμογών και υπηρεσιών χωρίς να γράφετε κώδικα. Τα Shortcuts εκκινούνται με φωνή μέσω Siri, βάσει προγράμματος, κατά την είσοδο ή έξοδο από μια γεωζώνη, με πάτημα widget ή άγγιγμα ετικέτας NFC. Το σενάριο δημιουργείται οπτικά μέσω του κατασκευαστή Actions με μεταφορά μπλοκ. Περισσότερα — στο Shortcuts User Guide.
Κύρια σημεία
Shortcut — μια ακολουθία ενεργειών (Actions) που συνδυάζονται σε ένα σενάριο για την αυτοματοποίηση εργασιών σε iOS, iPadOS, macOS και watchOS. Σε αντίθεση με μια συνηθισμένη εφαρμογή, το Shortcut δεν έχει σταθερή διεπαφή — εκτελείται στο παρασκήνιο ή εμφανίζει γρήγορους διαλόγους μόνο για είσοδο δεδομένων. Ο χρήστης δημιουργεί το σενάριο στην εφαρμογή Shortcuts, συνδυάζοντας μπλοκ από τη συλλογή Actions, και το εκκινεί με ένα άγγιγμα, φωνή ή αυτόματα μέσω ενεργοποιητή.
Εφαρμογή Shortcuts — ο ενσωματωμένος κατασκευαστής αυτοματοποίησης της Apple, διαθέσιμος σε όλες τις συσκευές με iOS 13+, iPadOS, macOS 12+ και watchOS. Η βιβλιοθήκη Actions περιλαμβάνει πάνω από 300 ενσωματωμένα μπλοκ: συστήματος (αποστολή μηνύματος, κλήση, άνοιγμα εφαρμογής), πολυμέσων (φωτογραφία, μουσική, podcast), διαδικτύου (REST API μέσω Get Contents of URL), εργασία με αρχεία και έγγραφα. Η συλλογή περιέχει έτοιμα σενάρια από την Apple και την κοινότητα — από την αποστολή ETA σε μια επαφή έως τη μαζική μετονομασία αρχείων.
Βιβλιοθήκη Actions συμπληρώνεται από εφαρμογές τρίτων μέσω του App Intents framework. Ο προγραμματιστής καταχωρεί intents στο Intents.intentdefinition και αυτά εμφανίζονται αυτόματα στη συλλογή Shortcuts. Για παράδειγμα, η εφαρμογή Things 3 προσθέτει Actions „Δημιουργία εργασίας" και „Εμφάνιση σημερινών εργασιών", και η CARROT Weather — „Πρόβλεψη για σήμερα" με παραμέτρους τοποθεσίας.
Τα Shortcuts λειτουργούν στο sandbox του iOS — το σενάριο εκτελείται στη διεργασία παρασκηνίου shortcuted με περιορισμένα δικαιώματα. Κάθε Action είναι μια κλήση σε έναν προκαθορισμένο χειριστή που λαμβάνει παραμέτρους εισόδου, εκτελεί τη λειτουργία και επιστρέφει το αποτέλεσμα. Το σύστημα μεταφέρει τα δεδομένα εξόδου ενός Action στην είσοδο του επόμενου μέσω pipeline — ο χρήστης το βλέπει ως μπλε σημεία σύνδεσης μπλοκ στον επεξεργαστή.
Ροή εκτέλεσης Shortcut είναι γραμμική: τα Actions εκτελούνται διαδοχικά από πάνω προς τα κάτω. Οι υπό συνθήκη μεταβάσεις υλοποιούνται με μπλοκ If — το σύστημα αξιολογεί τη συνθήκη και εκτελεί τον αντίστοιχο κλάδο. Διαθέσιμοι είναι οι βρόχοι Repeat (επανάληψη N φορές), Repeat with Each (ανά στοιχεία λίστας) και For Each. Ένα σφάλμα σε ένα Action διακόπτει ολόκληρο το σενάριο, εκτός εάν έχει προστεθεί μπλοκ 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)
}
}
}
Κάθε χειριστής Intents καταχωρείται στο Info.plist μέσω του κλειδιού INIntentsSupported. Κατά την εκκίνηση Shortcut μέσω Siri, το σύστημα βρίσκει τον κατάλληλο IntentHandler και τον εκτελεί ασύγχρονα. Η απάντηση επιστρέφεται ως αντικείμενο INIntentResponse που περιέχει κατάσταση, μήνυμα και προαιρετικά δεδομένα για εμφάνιση στον χρήστη.
Δημιουργία Shortcut ξεκινά με το πάτημα „+" στη συλλογή της εφαρμογής Shortcuts. Ο χρήστης επιλέγει Actions από κατηγορίες: Εφαρμογές, Σενάρια, Διαδίκτυο, Αρχεία, Υγεία, Μουσική και άλλες. Κάθε Action διαμορφώνεται — πεδία εισόδου, διακόπτες, λίστες. Μετά τη συναρμολόγηση, το σενάριο δοκιμάζεται με το κουμπί Play, και σε περίπτωση σφαλμάτων επισημαίνεται το προβληματικό μπλοκ. Για δημοσίευση, το Shortcut εξάγεται σε αρχείο .shortcut για αποστολή μέσω AirDrop ή iMessage.
Μεταβλητές και μαγεία Τα Shortcuts υποστηρίζουν μεταβλητές — τα δεδομένα εξόδου ενός Action μπορούν να μεταφερθούν σε άλλο. Οι μαγικές μεταβλητές (Magic Variables) καθορίζονται αυτόματα: αν το προηγούμενο Action επιστρέφει μια εικόνα, το σύστημα την προτείνει στις παραμέτρους του επόμενου. Ο χρήστης μπορεί επίσης να δημιουργήσει ονομασμένες μεταβλητές μέσω του μπλοκ Set Variable και να τις χρησιμοποιήσει οπουδήποτε στο σενάριο.
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 — ένα σύγχρονο πλαίσιο από την Apple (iOS 16+, SwiftUI) που αντικατέστησε τα Intents για προσαρμοσμένα intents. Σε αντίθεση με το παλιό SiriKit, το App Intents λειτουργεί χωρίς Objective-C runtime, υποστηρίζει ασύγχρονη λειτουργία μέσω async/await και δημιουργεί αυτόματα διαλόγους για το Siri. Το struct CreateTaskIntent επισημαίνεται με το πρωτόκολλο AppIntent και οι παράμετροι με το χαρακτηριστικό @Parameter. Το πλαίσιο δημιουργεί μόνο του το Action στη συλλογή Shortcuts.
Ενεργοποιητές Shortcuts — συνθήκες υπό τις οποίες το σενάριο εκκινείται αυτόματα. Η ρύθμιση γίνεται στην καρτέλα Automation στην εφαρμογή Shortcuts. Οι ενεργοποιητές χωρίζονται σε προσωπικούς (χρόνος, τοποθεσία, φόρτιση), αφής (NFC, κούνημα), συστήματος (άνοιγμα εφαρμογής, λειτουργία εστίασης, σύνδεση σε CarPlay) και συμβάντων (λήψη email, συμβάν ημερολογίου, ειδοποίηση). Για κάθε ενεργοποιητή μπορεί να οριστεί άμεση εκτέλεση ή με επιβεβαίωση.
| Ενεργοποιητής | Συνθήκη εκκίνησης | Παράδειγμα χρήσης |
|---|---|---|
| Χρόνος | Συγκεκριμένη ώρα, ανατολή/δύση | Ενεργοποίηση λειτουργίας „Μην ενοχλείτε" στις 22:00 |
| Γεωζώνη | Είσοδος ή έξοδος από περιοχή | Αποστολή „Πάω σπίτι" κατά την έξοδο από τη δουλειά |
| NFC | Άγγιγμα ετικέτας NFC | Εκκίνηση σεναρίου „Έξυπνο σπίτι" με άγγιγμα ετικέτας |
| Εφαρμογή | Άνοιγμα ή κλείσιμο εφαρμογής | Υπενθύμιση απενεργοποίησης χρονοδιακόπτη κατά το κλείσιμο YouTube |
| Εστίαση | Αλλαγή λειτουργίας Focus | Ενεργοποίηση σκούρου θέματος κατά την ενεργοποίηση Sleep Focus |
| Φόρτιση | Σύνδεση/αποσύνδεση τροφοδοσίας | Άνοιγμα widget φόρτισης κατά τη σύνδεση MagSafe |
Αυτοματοποίηση — μια βασική δυνατότητα των Shortcuts, μη διαθέσιμη σε συνηθισμένες εφαρμογές χωρίς δικαιώματα προγραμματιστή. Ο χρήστης ρυθμίζει τον ενεργοποιητή μία φορά και το ξεχνά — το σενάριο εκτελείται στο παρασκήνιο χωρίς συμμετοχή. Για παράδειγμα, η αυτοματοποίηση „Όταν έρχομαι σπίτι, ενεργοποίησε το Wi-Fi και απενεργοποίησε τη σίγαση" εκκινείται κατά την είσοδο στη γεωζώνη του σπιτιού. Το σύστημα ζητά άδεια για αυτοματοποίηση στην πρώτη ρύθμιση και μπορεί να την απενεργοποιήσει σε περίπτωση σπάνιας χρήσης.
Shortcuts σε macOS — από το macOS 12 Monterey, τα Shortcuts έγιναν διαθέσιμα σε Mac. Τα σενάρια συγχρονίζονται μέσω iCloud μεταξύ όλων των συσκευών Apple. Σε Mac υποστηρίζονται τα συστημικά Actions Finder, Terminal, Automator και AppleScript. Οι προγραμματιστές macOS μπορούν να προσθέτουν Actions μέσω App Intents παρόμοια με το iOS.
App Intents — το κύριο πλαίσιο για ενσωμάτωση εφαρμογής με Shortcuts σε iOS 16+ και macOS 13+. Ο προγραμματιστής δημιουργεί ένα struct που υλοποιεί το πρωτόκολλο AppIntent, περιγράφει παραμέτρους μέσω property wrappers και υλοποιεί τη μέθοδο perform(). Το σύστημα καταχωρεί αυτόματα το intent στα Shortcuts, Siri και Spotlight. Για υποστήριξη παλαιότερων εκδόσεων iOS (10–15) χρησιμοποιείται το Intents framework με INIntent και IntentHandler.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
Δοκιμή App Intents — ο εντοπισμός σφαλμάτων των intents γίνεται μέσω Xcode: επιλέξτε το σχήμα εφαρμογής, στο Arguments δώστε -intents, και ο προσομοιωτής θα προσφέρει μια λίστα καταχωρημένων intents για δοκιμή. Για να ελέγξετε το Shortcut σε περιβάλλον κοντά στο πραγματικό, δημιουργήστε ένα αρχείο της εφαρμογής και εγκαταστήστε στη συσκευή μέσω TestFlight. Τα Shortcuts από την εφαρμογή εμφανίζονται στη συλλογή μετά την πρώτη εκκίνηση.
Προηγμένες δυνατότητες Το App Intents υποστηρίζει παραμέτρους με αυτόματη συμπλήρωση (δυναμικές επιλογές), επιβεβαίωση πριν από την εκτέλεση (confirmation), intents για Siri (voice shortcuts) και δημιουργία widget με κουμπιά εκκίνησης. Indexed intents (iOS 17+) — intents που το Siri προτείνει αυτόματα στον χρήστη βάσει περιεχομένου: χρόνος, τοποθεσία και ιστορικό ενεργειών.
Συχνές Ερωτήσεις
Shortcut — είναι ένα σενάριο που συνδέει ενέργειες διαφορετικών εφαρμογών, όχι μια αυτόνομη εφαρμογή. Ο χρήστης δεν γράφει κώδικα, αλλά συναρμολογεί το σενάριο από έτοιμα μπλοκ Actions. Το Shortcut εκκινείται από ενεργοποιητή και εκτελείται χωρίς να ανοίγει την εφαρμογή Shortcuts, ενώ μια συνηθισμένη εφαρμογή απαιτεί εκκίνηση μέσω εικονιδίου στην οθόνη.
Το Shortcuts υποστηρίζει ενεργοποιητές: χρόνο βάσει προγράμματος, γεωζώνη κατά την είσοδο ή έξοδο από περιοχή, ετικέτα NFC κατά το άγγιγμα iPhone, άνοιγμα εφαρμογής, πάτημα widget, φωνητική εντολή Siri, σύνδεση φορτιστή, λειτουργία ύπνου και Focus Mode, καθώς και ορισμένες ειδοποιήσεις από εφαρμογές. Η ρύθμιση γίνεται στην καρτέλα Automation.
Ναι, το Shortcut εξάγεται σε αρχείο .shortcut και αποστέλλεται μέσω AirDrop, iMessage ή δημοσιεύεται στη συλλογή Shortcuts μέσω iCloud. Ο παραλήπτης εισάγει το σενάριο και μπορεί να το χρησιμοποιήσει. Κατά τη λήψη από το διαδίκτυο, το iOS ζητά επιβεβαίωση και προειδοποιεί για την εκτέλεση μη επαληθευμένων σεναρίων λόγω πιθανών κινδύνων ασφαλείας.
Οι εφαρμογές τρίτων προσθέτουν Actions μέσω του App Intents framework σε iOS 16+ ή Intents framework σε παλαιότερες εκδόσεις. Ο προγραμματιστής καταχωρεί ενέργειες στο Intents.intentdefinition και αυτές εμφανίζονται στη συλλογή Actions της εφαρμογής Shortcuts. Ο χρήστης συνδυάζει Actions διαφορετικών εφαρμογών — για παράδειγμα, στέλνει σύνδεσμο από το Safari στις σημειώσεις Bear.
Όχι, τα Shortcuts δημιουργούνται οπτικά χωρίς κώδικα. Ο χρήστης σύρει μπλοκ Actions από τη λίστα, ρυθμίζει παραμέτρους και τα συνδέει διαδοχικά. Για προηγμένα σενάρια διατίθενται μπλοκ Run Script Over SSH, Get Contents of URL και Control Flow If, Repeat, For Each, αλλά η εμπειρία προγραμματισμού δεν είναι υποχρεωτική.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης