Стендап Сьогодні
📢 Канал в Telegram @stendap_sogodni
🦣 @stendap_sogodni@shevtsov.me в Федиверсі

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

23.09.2025

Як працюють Apple Shortcuts

Трохи вирішив зʼясувати, як воно все влаштоване. Звідки беруться дії в Shortcuts та як додати власні?

(Якщо ти ніколи не бачив Shortcuts: це система візуального програмування, недалека від Scratch. Там є зручності імперативного програмування — змінні, умови, цикли. Але головним чином програма складається з викликів дій різних застосунків та передавання даних між ними.)

Виявляється, під капотом в Shortcuts сидить фреймворк App Intents. Це повноцінна модель API для твого застосунку. В прямому сенсі — через Intents можна експортувати виклики функцій з параметрами та навіть із власними типами даних. Та ще й документувати їх. Та відповідальні розробники цим користуються.

Приємно, що App Intents побудований на Swift, бо минула технологія - AppleScript - потребувала неприємних файлів конфігурації, які я так і не опанував. А також, як і більшість сучасних технологій Apple, код App Intents працює на всіх платформах.

Також App Intents неначе можна викликати ще й через Siri та Spotlight, але я, чесно, ніколи цим не користувався та навіть про це не знав.

Затьмарює тільки те, що застосунки не можуть викликати дії інших застосунків напряму. Це дозволено тільки системним інструментам. Як я розумію, задля безпеки — бо моделі дозволів тут немає (та не потрібно, поки кожна дія викликана користувачем.) Зате застосункам доступні готові скрипти Shortcuts. Ба більше, для них навіть є CLI. Але спочатку користувач мусить сам створити цей скрипт.