Shortcut — Apple-ning Shortcuts ilovasida bir nechta ilova va xizmatlarning harakatlarini kod yozmasdan bog'laydigan avtomatlashtirish stsenariysi. Shortcuts Siri orqali ovoz bilan, jadval bo'yicha, geozonaga kirish yoki chiqishda, vidjetni bosish yoki NFC belgisiga tegish orqali ishga tushiriladi. Stsenariy Actions konstruktori orqali bloklarni sudrab vizual yaratiladi. Batafsil — Shortcuts User Guide.
Asosiy
Shortcut — iOS, iPadOS, macOS va watchOS-da vazifalarni avtomatlashtirish uchun bitta stsenariyda birlashtirilgan harakatlar (Actions) ketma-ketligi. Oddiy ilovadan farqli o'laroq, Shortcut doimiy interfeysga ega emas — u fonda ishlaydi yoki faqat ma'lumot kiritish uchun tezkor dialoglarni ko'rsatadi. Foydalanuvchi Shortcuts ilovasida Actions galereyasidan bloklarni birlashtirib stsenariy yaratadi va uni bir teginish, ovoz yoki tetiklantiruvchi orqali avtomatik ishga tushiradi.
Shortcuts ilovasi — iOS 13+, iPadOS, macOS 12+ va watchOS bilan barcha qurilmalarda mavjud bo'lgan Apple-ning o'rnatilgan avtomatlashtirish konstruktori. Actions kutubxonasi 300 dan ortiq o'rnatilgan bloklarni o'z ichiga oladi: tizim (xabar yuborish, qo'ng'iroq qilish, ilovani ochish), multimedia (foto, musiqa, podkastlar), internet (Get Contents of URL orqali REST API), fayllar va hujjatlar bilan ishlash. Galereyada Apple va jamiyat tomonidan tayyor stsenariylar mavjud — kontaktga ETA yuborishdan fayl nomlarini ommaviy o'zgartirishgacha.
Actions kutubxonasi App Intents framework orqali uchinchi tomon ilovalari bilan to'ldiriladi. Ishlab chiquvchi Intents.intentdefinition-da intentlarni ro'yxatdan o'tkazadi va ular Shortcuts galereyasida avtomatik paydo bo'ladi. Masalan, Things 3 ilovasi «Vazifa yaratish» va «Bugungi ishlarni ko'rsatish» Actions qo'shadi, CARROT Weather esa — «Bugun uchun prognoz» lokatsiya parametrlari bilan.
Shortcuts ishlaydi iOS sandboxida — stsenariy cheklangan huquqlar bilan shortcuted fon jarayonida bajariladi. Har bir Action — kirish parametrlarini oladigan, operatsiyani bajaradigan va natijani qaytaradigan oldindan belgilangan handler-ga chaqiruvdir. Tizim bir Action-ning chiqish ma'lumotlarini pipeline orqali keyingi Action-ning kirishiga uzatadi — foydalanuvchi buni redaktorda bloklarning ko'k ulanish nuqtalari sifatida ko'radi.
Ijro oqimi Shortcut chiziqli: Actions yuqoridan pastga ketma-ket bajariladi. Shartli o'tishlar If bloklari bilan amalga oshiriladi — tizim shartni hisoblaydi va tegishli tarmoqni bajaradi. Repeat (N marta takrorlash), Repeat with Each (ro'yxat elementlari bo'yicha) va For Each sikllari mavjud. Bir Action-dagi xato, agar Try/Catch bloki qo'shilmagan bo'lsa, butun stsenariyni to'xtatadi.
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)
}
}
}
Har bir Intents handler INIntentsSupported kaliti orqali Info.plist-da ro'yxatdan o'tkaziladi. Shortcut Siri orqali ishga tushirilganda, tizim kerakli IntentHandler-ni topadi va uni asinxron bajaradi. Javob holat, xabar va foydalanuvchiga ko'rsatish uchun ixtiyoriy ma'lumotlarni o'z ichiga olgan INIntentResponse obyekti shaklida qaytariladi.
Shortcut yaratish Shortcuts ilovasi galereyasida «+» tugmasini bosish bilan boshlanadi. Foydalanuvchi kategoriyalardan Actions tanlaydi: Ilovalar, Stsenariylar, Internet, Fayllar, Salomatlik, Musiqa va boshqalar. Har bir Action sozlanadi — kiritish maydonlari, kalitlar, ro'yxatlar. Yig'ilgandan so'ng, stsenariy Play tugmasi bilan sinovdan o'tkaziladi va xatolarda muammoli blok ajratib ko'rsatiladi. Nashr qilish uchun Shortcut AirDrop yoki iMessage orqali yuborish uchun .shortcut fayliga eksport qilinadi.
O'zgaruvchilar va sehr Shortcuts o'zgaruvchilarni qo'llab-quvvatlaydi — bir Action-ning chiqish ma'lumotlari boshqasiga uzatilishi mumkin. Sehrli o'zgaruvchilar (Magic Variables) avtomatik aniqlanadi: agar oldingi Action rasm qaytarsa, tizim uni keyingi parametrlarda taklif qiladi. Foydalanuvchi shuningdek Set Variable bloki orqali nomlangan o'zgaruvchilar yaratishi va ulardan stsenariyning istalgan joyida foydalanishi mumkin.
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-dan (iOS 16+, SwiftUI) zamonaviy freymvork, maxsus intentlar uchun Intents-ni almashtirgan. Eski SiriKit-dan farqli o'laroq, App Intents Objective-C runtime-siz ishlaydi, async/await orqali asinxronlikni qo'llab-quvvatlaydi va Siri uchun avtomatik dialoglar yaratadi. CreateTaskIntent struct-asi AppIntent protokoli bilan, parametrlar esa @Parameter atributi bilan belgilanadi. Freymvork Shortcuts galereyasida Action-ni o'zi yaratadi.
Shortcuts tetiklantiruvchilari — stsenariy avtomatik ishga tushadigan shartlar. Sozlash Shortcuts ilovasining Automation bo'limida amalga oshiriladi. Tetiklantiruvchilar shaxsiy (vaqt, joy, zaryad), sensor (NFC, silkitish), tizim (ilovani ochish, fokus rejimi, CarPlay-ga ulanish) va hodisa (elektron pochta olish, kalendar hodisasi, bildirishnoma) ga bo'linadi. Har bir tetiklantiruvchi uchun darhol yoki tasdiq bilan bajarish sozlanishi mumkin.
| Tetiklantiruvchi | Ishga tushish sharti | Foydalanish misoli |
|---|---|---|
| Vaqt | Belgilangan vaqt, quyosh chiqishi/botishi | Soat 22:00 da «Bezovta qilma» rejimini yoqish |
| Geozona | Hududga kirish yoki chiqish | Ishdan chiqishda «Uyga ketyapman» yuborish |
| NFC | NFC belgisiga tegish | Belgiga teginishda «Aqlli uy» stsenariysini ishga tushirish |
| Ilova | Ilovani ochish yoki yopish | YouTube-ni yopishda taymerni o'chirishni eslatish |
| Fokus | Focus rejimining o'zgarishi | Sleep Focus faollashganda qorong'i mavzuni yoqish |
| Zaryad | Quvvat manbaini ulash/uzish | MagSafe ulanganda zaryad vidjetini ochish |
Avtomatlashtirish — Shortcuts-ning oddiy ilovalar uchun ishlab chiquvchi huquqisiz mavjud bo'lmagan asosiy imkoniyati. Foydalanuvchi tetiklantiruvchini bir marta sozlaydi va unutadi — stsenariy ishtiroksiz fonda bajariladi. Masalan, «Uyga kelganimda Wi-Fi-ni yoqish va jim rejimni o'chirish» avtomatlashtirishi uy geozonasiga kirishda ishga tushadi. Tizim birinchi sozlashda avtomatlashtirishga ruxsat so'raydi va kam foydalanishda uni o'chirib qo'yishi mumkin.
macOS-da Shortcuts — macOS 12 Monterey dan Shortcuts Mac-da mavjud bo'ldi. Stsenariylar iCloud orqali barcha Apple qurilmalari o'rtasida sinxronlanadi. Mac-da tizim Actions Finder, Terminal, Automator va AppleScript qo'llab-quvvatlanadi. macOS ishlab chiquvchilari iOS-ga o'xshab App Intents orqali Actions qo'shishlari mumkin.
App Intents — iOS 16+ va macOS 13+ da ilovani Shortcuts bilan integratsiya qilish uchun asosiy freymvork. Ishlab chiquvchi AppIntent protokolini amalga oshiruvchi struct yaratadi, parametrlarni property wrappers orqali tavsiflaydi va perform() metodini amalga oshiradi. Tizim intentni Shortcuts, Siri va Spotlight-da avtomatik ro'yxatdan o'tkazadi. Eski iOS versiyalarini (10–15) qo'llab-quvvatlash uchun INIntent va IntentHandler bilan Intents framework ishlatiladi.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
App Intents test qilish — intentlarni tuzatish Xcode orqali amalga oshiriladi: ilova sxemasini tanlang, Arguments-da -intents ni uzating va simulyator ro'yxatdan o'tgan intentlar ro'yxatini taklif qiladi. Shortcut-ni real muhitga yaqin sharoitda tekshirish uchun ilova arxivini yig'ing va TestFlight orqali qurilmaga o'rnating. Ilovadan Shortcuts birinchi ishga tushirishdan so'ng galereyada paydo bo'ladi.
Ilg'or imkoniyatlar App Intents avtomatik to'ldirish bilan parametrlarni (dinamik options), bajarishdan oldin tasdiqni (confirmation), Siri uchun intentlarni (voice shortcuts) va ishga tushirish tugmalari bilan vidjetlar yaratishni qo'llab-quvvatlaydi. Indexed intents (iOS 17+) — Siri kontekst asosida foydalanuvchiga avtomatik taklif qiladigan intentlar: vaqt, joy va harakatlar tarixi.
Tez-tez beriladigan savollar
Shortcut — bu mustaqil ilova emas, balki turli ilovalarning harakatlarini bog'laydigan stsenariy. Foydalanuvchi kod yozmaydi, tayyor Actions bloklaridan stsenariy yig'adi. Shortcut tetiklantiruvchi orqali ishga tushiriladi va Shortcuts ilovasini ochmasdan bajariladi, oddiy ilova esa ekrandagi belgi orqali ishga tushirishni talab qiladi.
Shortcuts tetiklantiruvchilarni qo'llab-quvvatlaydi: jadval bo'yicha vaqt, hududga kirish yoki chiqishda geozona, iPhone-ga teginishda NFC belgisi, ilovani ochish, vidjetni bosish, Siri ovozli buyrug'i, zaryadlovchini ulash, uyqu rejimi va Focus Mode, shuningdek ilovalardan ma'lum bildirishnomalar. Sozlash Automation bo'limida amalga oshiriladi.
Ha, Shortcut .shortcut fayliga eksport qilinadi va AirDrop, iMessage orqali yuboriladi yoki iCloud orqali Shortcuts galereyasida nashr etiladi. Qabul qiluvchi stsenariyni import qiladi va undan foydalanishi mumkin. Internetdan yuklashda iOS tasdiqni talab qiladi va potentsial xavfsizlik risklari sababli tekshirilmagan stsenariylarni ishga tushirish haqida ogohlantiradi.
Uchinchi tomon ilovalari iOS 16+ da App Intents framework yoki eski versiyalarda Intents framework orqali Actions qo'shadi. Ishlab chiquvchi harakatlarni Intents.intentdefinition-da ro'yxatdan o'tkazadi va ular Shortcuts ilovasining Actions galereyasida paydo bo'ladi. Foydalanuvchi turli ilovalarning Actions-ni birlashtiradi — masalan, Safari-dan Bear qaydlariga havola yuboradi.
Yo'q, Shortcuts kodsiz vizual yaratiladi. Foydalanuvchi ro'yxatdan Actions bloklarini sudrab oladi, parametrlarni sozlaydi va ketma-ket bog'laydi. Murakkab stsenariylar uchun Run Script Over SSH, Get Contents of URL va Control Flow If, Repeat, For Each bloklari mavjud, ammo dasturlash tajribasi majburiy emas.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.