Shortcut — Apple-dən Shortcuts tətbiqində bir neçə tətbiq və xidmətin hərəkətlərini kod yazmadan birləşdirən avtomatlaşdırma ssenarisi. Shortcuts Siri vasitəsilə səslə, cədvəl üzrə, geozonaya daxil olarkən və ya çıxarkən, vidjetin basılması və ya NFC nişanına toxunmaqla işə salınır. Ssenari Actions konstruktoru vasitəsilə blokları sürükləyərək vizual yaradılır. Ətraflı — Shortcuts User Guide.
Əsas
Shortcut — iOS, iPadOS, macOS və watchOS-da tapşırıqları avtomatlaşdırmaq üçün bir ssenaridə birləşdirilmiş hərəkətlər (Actions) ardıcıllığı. Adi tətbiqdən fərqli olaraq, Shortcut daimi interfeysə malik deyil — o, fonda işləyir və ya yalnız məlumat daxil etmək üçün sürətli dialoqlar göstərir. İstifadəçi Shortcuts tətbiqində Actions qalereyasından blokları birləşdirərək ssenari yaradır və onu bir toxunuşla, səslə və ya tetikləyici ilə avtomatik işə salır.
Shortcuts tətbiqi — iOS 13+, iPadOS, macOS 12+ və watchOS ilə bütün cihazlarda mövcud olan Apple-dən quraşdırılmış avtomatlaşdırma konstruktoru. Actions kitabxanası 300-dən çox daxili blok ehtiva edir: sistem (mesaj göndər, zəng et, tətbiqi aç), multimedia (foto, musiqi, podkastlar), internet (Get Contents of URL vasitəsilə REST API), fayllar və sənədlərlə iş. Qalereyada Apple və icma tərəfindən hazır ssenarilər var — kontakt ETA göndərməkdən fayl adlarının kütləvi dəyişdirilməsinə qədər.
Actions kitabxanası App Intents framework vasitəsilə üçüncü tərəf tətbiqləri ilə genişləndirilir. Tərtibatçı Intents.intentdefinition-da intentləri qeydiyyatdan keçirir və onlar Shortcuts qalereyasında avtomatik görünür. Məsələn, Things 3 tətbiqi «Tapşırıq yarat» və «Bugünkü işləri göstər» Actions əlavə edir, CARROT Weather isə — «Bu gün üçün proqnoz» lokasiya parametrləri ilə.
Shortcuts işləyir iOS peşəndboxında — ssenari məhdud hüquqlarla shortcuted fon prosesində icra olunur. Hər bir Action — giriş parametrlərini alan, əməliyyatı yerinə yetirən və nəticəni qaytaran əvvəlcədən təyin edilmiş handler-ə çağırışdır. Sistem bir Action-ın çıxış məlumatlarını pipeline vasitəsilə növbəti Action-ın girişinə ötürür — istifadəçi bunu redaktorda blokların birləşmə nöqtələri kimi görür.
İcra axını Shortcut xəttidir: Actions yuxarıdan aşağıya ardıcıl icra olunur. Şərti keçidlər If blokları ilə həyata keçirilir — sistem şərti hesablayır və müvafiq qolu icra edir. Repeat (N dəfə təkrarla), Repeat with Each (siyahı elementləri üzrə) və For Each dövrləri mövcuddur. Bir Action-da xəta, əgər Try/Catch bloku əlavə edilməyibsə, bütün ssenarini dayandırır.
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)
}
}
}
Hər bir Intents handler INIntentsSupported açarı vasitəsilə Info.plist-də qeydiyyatdan keçirilir. Siri vasitəsilə Shortcut işə salındıqda sistem lazımi IntentHandler-i tapır və onu asinxron icra edir. Cavab status, mesaj və istifadəçiyə göstərilmək üçün opsional məlumatları ehtiva edən INIntentResponse obyekti şəklində qaytarılır.
Shortcut yaradılması Shortcuts tətbiqinin qalereyasında «+» düyməsini basmaqla başlayır. İstifadəçi kateqoriyalardan Actions seçir: Tətbiqlər, Ssenarilər, İnternet, Fayllar, Sağlamlıq, Musiqi və digərləri. Hər bir Action konfiqurasiya edilir — giriş sahələri, açarlar, siyahılar. Yığıldıqdan sonra ssenari Play düyməsi ilə test edilir və xəta olduqda problemli blok vurğulanır. Nəşr üçün Shortcut AirDrop və ya iMessage ilə göndərmək üçün .shortcut faylına ixrac edilir.
Dəyişənlər və sehr Shortcuts dəyişənləri dəstəkləyir — bir Action-ın çıxış məlumatları digərinə ötürülə bilər. Sehrli dəyişənlər (Magic Variables) avtomatik müəyyən edilir: əvvəlki Action şəkil qaytarırsa, sistem onu növbəti parametrlərdə təklif edir. İstifadəçi həmçinin Set Variable bloku vasitəsilə adlandırılmış dəyişənlər yarada və onlardan ssenarinin istənilən yerində istifadə edə bilər.
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-dən (iOS 16+, SwiftUI) müasir freymvork, xüsusi intentlər üçün Intents-i əvəz etmişdir. Köhnə SiriKit-dən fərqli olaraq, App Intents Objective-C runtime olmadan işləyir, async/await vasitəsilə asinxronluğu dəstəkləyir və Siri üçün avtomatik dialoqlar yaradır. CreateTaskIntent struct-ı AppIntent protokolu ilə, parametrlər isə @Parameter atributu ilə işarələnir. Freymvork Shortcuts qalereyasında Action-ı özü yaradır.
Shortcuts tetikləyiciləri — ssenarinin avtomatik işə düşdüyü şərtlər. Konfiqurasiya Shortcuts tətbiqinin Automation bölməsində aparılır. Tetikləyicilər şəxsi (vaxt, yer, şarj), toxunma (NFC, silkələmə), sistem (tətbiqin açılması, fokus rejimi, CarPlay-ə qoşulma) və hadisə (email almaq, təqvim hadisəsi, bildiriş) bölünür. Hər bir tetikləyici üçün dərhal və ya təsdiqlə icra təyin edilə bilər.
| Tetikləyici | İşə düşmə şərti | İstifadə nümunəsi |
|---|---|---|
| Vaxt | Müəyyən vaxt, günəşin doğuşu/batması | Saat 22:00-da «Narahat etmə» rejimini yandır |
| Geozona | Ərazidən daxil olma və ya çıxma | İşdən çıxanda «Evə gedirəm» göndər |
| NFC | NFC nişanına toxunma | Nişana toxunanda «Ağıllı ev» ssenarisini işə sal |
| Tətbiq | Tətbiqin açılması və ya bağlanması | YouTube-u bağlayanda taymeri söndürməyi xatırlat |
| Fokus | Focus rejiminin dəyişməsi | Sleep Focus aktivləşəndə qaranlıq mövzunu yandır |
| Şarj | Enerjinin qoşulması/ayrılması | MagSafe qoşulanda şarj vidjetini aç |
Avtomatlaşdırma — Shortcuts-ın adi tətbiqlər üçün tərtibatçı hüquqları olmadan əlçatmaz olan əsas imkanı. İstifadəçi tetikləyicini bir dəfə konfiqurasiya edir və unudur — ssenari iştirak olmadan fonda icra olunur. Məsələn, «Evə gələndə Wi-Fi-ı yandır və səssiz rejimi söndür» avtomatlaşdırması ev geozonasına daxil olanda işə düşür. Sistem ilk konfiqurasiyada avtomatlaşdırmaya icazə tələb edir və nadir istifadə zamanı onu söndürə bilər.
macOS-da Shortcuts — macOS 12 Monterey-dən etibarən Shortcuts Mac-da əlçatan oldu. Ssenarilər iCloud vasitəsilə bütün Apple cihazları arasında sinxronlaşır. Mac-da sistem Actions Finder, Terminal, Automator və AppleScript dəstəklənir. macOS tərtibatçıları iOS-a bənzər şəkildə App Intents vasitəsilə Actions əlavə edə bilərlər.
App Intents — iOS 16+ və macOS 13+ üzrə tətbiqi Shortcuts ilə inteqrasiya etmək üçün əsas freymvork. Tərtibatçı AppIntent protokolunu reallaşdıran struct yaradır, parametrləri property wrappers vasitəsilə təsvir edir və perform() metodunu reallaşdırır. Sistem intenti Shortcuts, Siri və Spotlight-da avtomatik qeydiyyatdan keçirir. Köhnə iOS versiyalarını (10–15) dəstəkləmək üçün INIntent və IntentHandler ilə Intents framework istifadə olunur.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
App Intents test edilməsi — intentlərin debug-u Xcode vasitəsilə aparılır: tətbiq sxemini seçin, Arguments-də -intents ötürün və simulator test üçün qeydiyyatdan keçmiş intentlər siyahısını təklif edəcək. Shortcut-ı real mühitə yaxın şəraitdə yoxlamaq üçün tətbiq arxivini yığın və TestFlight vasitəsilə cihaza quraşdırın. Tətbiqdən Shortcuts ilk işə salındıqdan sonra qalereyada görünür.
Qabaqcıl imkanlar App Intents avtomatik tamamlama ilə parametrləri (dinamik options), icradan əvvəl təsdiqi (confirmation), Siri üçün intentləri (voice shortcuts) və işə salma düymələri olan vidjetlərin yaradılmasını dəstəkləyir. Indexed intents (iOS 17+) — Siri-nin kontekst əsasında istifadəçiyə avtomatik təklif etdiyi intentlər: vaxt, yer və hərəkət tarixçəsi.
Tez-tez verilən suallar
Shortcut — bu, müstəqil tətbiq deyil, müxtəlif tətbiqlərin hərəkətlərini birləşdirən ssenaridir. İstifadəçi kod yazmır, hazır Actions bloklarından ssenari yığır. Shortcut tetikləyici ilə işə salınır və Shortcuts tətbiqini açmadan icra olunur, adi tətbiq isə ekrandakı ikona ilə işə salınma tələb edir.
Shortcuts tetikləyiciləri dəstəkləyir: cədvəl üzrə vaxt, əraziyə daxil olarkən və ya çıxarkən geozona, iPhone-a toxunarkən NFC nişanı, tətbiqin açılması, vidjetin basılması, Siri səs əmri, şarj cihazının qoşulması, yuxu rejimi və Focus Mode, həmçinin tətbiqlərdən müəyyən bildirişlər. Konfiqurasiya Automation bölməsində aparılır.
Bəli, Shortcut .shortcut faylına ixrac edilir və AirDrop, iMessage vasitəsilə göndərilir və ya iCloud vasitəsilə Shortcuts qalereyasında dərc olunur. Qəbul edən ssenarini idxal edir və istifadə edə bilər. İnternetdən endirərkən iOS təsdiq tələb edir və təhlükəsizlik riskləri səbəbindən yoxlanılmamış ssenarilərin işə salınması barədə xəbərdarlıq edir.
Üçüncü tərəf tətbiqləri iOS 16+ üzrə App Intents framework və ya köhnə versiyalarda Intents framework vasitəsilə Actions əlavə edir. Tərtibatçı hərəkətləri Intents.intentdefinition-da qeydiyyatdan keçirir və onlar Shortcuts tətbiqinin Actions qalereyasında görünür. İstifadəçi müxtəlif tətbiqlərin Actions-nu birləşdirir — məsələn, Safari-dən Bear qeydlərinə link göndərir.
Xeyr, Shortcuts kodsuz vizual yaradılır. İstifadəçi siyahıdan Actions bloklarını sürükləyir, parametrləri konfiqurasiya edir və ardıcıl birləşdirir. Qabaqcıl ssenarilər üçün Run Script Over SSH, Get Contents of URL və Control Flow If, Repeat, For Each blokları mövcuddur, lakin proqramlaşdırma təcrübəsi məcburi deyil.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun