AppleScript - AppleScript
![]() | tento článek potřebuje další citace pro ověření.Červen 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Paradigma | Programování v přirozeném jazyce, Skriptování |
---|---|
Vývojář | Apple Inc. |
Poprvé se objevil | 1993 |
Stabilní uvolnění | 2.5 / 16. října 2014[1] |
Psací disciplína | Slabý, dynamický |
OS | Systém 7, Mac OS 8, Mac OS 9, Operační Systém Mac |
Licence | Proprietární (části k dispozici pod APSL ) |
Přípony názvu souboru | .scpt, .scptd, .applescript |
webová stránka | https://developer.apple.com/applescript |
Ovlivněno | |
Přirozený jazyk, HyperTalk |
AppleScript je skriptovací jazyk vytvořil Apple Inc. který usnadňuje automatickou kontrolu nad skriptovatelnými Mac aplikace. Poprvé představeno v Systém 7, je aktuálně součástí všech verzí Operační Systém Mac jako součást balíčku nástrojů pro automatizaci systému.[2][3] Termín „AppleScript“ může odkazovat na samotný jazyk, na jednotlivý skript napsaný v daném jazyce nebo neformálně na macOS Otevřená skriptovací architektura který je základem jazyka.[2][3]
Přehled
AppleScript je primárně skriptovací jazyk vyvinutý společností Apple komunikace mezi aplikacemi (IAC) pomocí Události Apple.[2][3] AppleScript souvisí s událostmi Apple, ale liší se od nich. Události Apple jsou určeny k výměně dat mezi jinými aplikacemi a jejich ovládání za účelem automatizace opakujících se úkolů.
AppleScript má kromě zpracování odesílání a přijímání událostí Apple do aplikací i své vlastní schopnosti zpracování. AppleScript umí provádět základní výpočty a zpracování textu a je rozšiřitelný, což umožňuje jeho použití skriptové dodatky které do jazyka přidávají nové funkce. AppleScript se při zpracování složitých úkolů spoléhá hlavně na funkčnost aplikací a procesů. Jako strukturovaný příkazový jazyk, AppleScript lze srovnávat s Unix skořápky, Microsoft Hostitel skriptů Windows nebo IBM REXX ve svém účelu,[Citace je zapotřebí ] ale je odlišný od všech tří. Podstatné pro jeho funkčnost je skutečnost, že aplikace Macintosh publikují „slovníky“ adresovatelných objektů a operací.
AppleScript má některé prvky procedurální programování, objektově orientované programování (zejména při konstrukci objektů skriptu) a programování v přirozeném jazyce tendence ve své syntaxi, ale striktně nedodržuje žádnou z nich paradigmata programování.[3]:xxvi
Dějiny
Na konci 80. let Apple uvažoval o použití HyperCard je HyperTalk skriptovací jazyk jako standardní jazyk pro vývoj koncových uživatelů napříč společností a v rámci ní klasický Mac OS operační systém a pro meziprocesová komunikace mezi produkty Apple a jinými produkty.[4] HyperTalk by mohli nováčci použít k programování zásobníku HyperCard. Inženýři společnosti Apple poznali, že podobný, ale více objektově orientovaný skriptovací jazyk lze navrhnout pro použití s jakýmkoli aplikace, a projekt AppleScript se zrodil jako důsledek výzkumného úsilí o modernizaci Macintosh jako celku a nakonec se stal součástí Systém 7.[5]
AppleScript byl vydán v říjnu 1993 jako součást systému 7.1.1 (System 7 Pro, první hlavní upgrade na systém 7).[5] QuarkXPress (ver. 3.2) byla jednou z prvních hlavních softwarových aplikací, které podporovaly AppleScript. To zase vedlo k tomu, že AppleScript byl široce přijat ve světě vydávání a předtiskové přípravy, což často spojovalo složité pracovní postupy. To byl klíčový faktor při zachování dominantního postavení Macintosh ve vydávání a předtiskové přípravě, a to i poté, co byl QuarkXpress a další vydavatelské aplikace přeneseny do systému Microsoft Windows.
Po určité nejistotě ohledně budoucnosti AppleScript v operačním systému Apple příští generace se přesuneme k Mac OS X (kolem roku 2002) a jeho Kakao rámce výrazně zvýšily užitečnost a flexibilitu AppleScript. Kakaové aplikace umožňují vývojářům aplikací implementovat základní skriptovatelnost jejich aplikací s minimálním úsilím, čímž se rozšiřuje počet aplikací, které lze přímo skriptovat. Zároveň došlo k posunu k základům Unixu a schopnosti AppleScriptu spouštět příkazy Unixu přímo pomocí udělat shell skript
příkaz,[6] umožnil AppleScripts mnohem větší kontrolu nad samotným operačním systémem.[3]:863 AppleScript Studio, vydané s Mac OS X 10.2 jako část Xcode, a později AppleScriptObjC framework, vydáno v Mac OS X 10.6 umožnilo uživatelům vytvářet aplikace pro kakao pomocí AppleScript.[3]:969
V článku z roku 2006 Macworld zařadil AppleScript mezi své žebříčky 30 dosud nejvýznamnějších produktů Apple a umístil se tak na 17. místě.[7]
V článku z roku 2013 pro Macworld, zkušený vývojář a komentátor softwaru pro Mac John Gruber uzavřel svoji úvahu o „nepravděpodobném přetrvávání AppleScript“ poznámkou: „Teoreticky by AppleScript mohl být mnohem lepší; v praxi je to však to nejlepší, co máme, co funguje. Je příkladem výhod Macu oproti iOS pro drotáře a pokročilé uživatele. “[8]
V říjnu 2016 dlouholetý produktový manažer AppleScript a evangelista automatizace Sal Soghoian opustil Apple, když byla jeho pozice vyřazena „z obchodních důvodů“.[9] Veteráni v komunitě Mac, jako je John Gruber a Andy Ihnatko obecně reagoval s obavami a zpochybňoval závazek společnosti Apple vůči vývojářské komunitě a profesionálním uživatelům.[10] Senior viceprezident společnosti Apple pro softwarové inženýrství Craig Federighi odpověděl v e-mailu slovy: „Máme veškerý záměr pokračovat v podpoře skvělých automatizačních technologií v systému macOS!“, ačkoli Jeff Gamet na Mac Observer se domníval, že to jen málo utišilo jeho pochybnosti o budoucnosti automatizace Apple obecně a konkrétně AppleScript.[11] Prozatím zůstává AppleScript jednou z komponent automatizačních technologií macOS spolu s Služby, Automator, a skriptování prostředí.
Základní pojmy
AppleScript byl navržen pro použití jako přístupný skriptovací jazyk pro koncové uživatele, který uživatelům nabízí inteligentní mechanismus pro ovládání aplikací a pro přístup a úpravu dat a dokumentů. AppleScript používá Události Apple, sada standardizovaných datových formátů, které operační systém Macintosh používá k odesílání informací do aplikací, zhruba analogicky k odesílání XPath dotazy XML-RPC ve světě webové služby.[3]:xxvi Události Apple umožňují skriptu pracovat současně s více aplikacemi a předávat mezi nimi data, takže lze složité úkoly provádět bez lidské interakce.[2] Například AppleScript k vytvoření jednoduché webové galerie může dělat toto:
- Otevřete fotografii v aplikaci pro úpravy fotografií (odesláním této aplikace a Otevřít soubor Apple událost).
- Řekněte aplikaci pro úpravu fotografií, aby s obrázkem manipulovala (např. Zmenšete její rozlišení, přidejte rámeček, přidejte fotografický kredit)
- Řekněte aplikaci pro úpravy fotografií, aby uložila změněný obrázek do souboru v jiné složce (odesláním této aplikace a Uložit a / nebo Zavřít Apple událost).
- Odešlete novou cestu k souboru (prostřednictvím jiné události Apple) do textového editoru nebo aplikace webového editoru
- Řekněte této editorské aplikaci, aby napsala odkaz na fotografii do souboru HTML.
- Výše uvedené kroky opakujte pro celou složku obrázků (stovky nebo dokonce tisíce fotografií).
- Nahrajte soubor HTML a složku s revidovanými fotografiemi na web zasláním událostí Apple do grafické podoby FTP pomocí vestavěných příkazů AppleScript nebo zasláním událostí Apple do unixových FTP nástrojů.
Pro uživatele byly stovky nebo tisíce kroků ve více aplikacích zredukovány na jediný úkon spuštění skriptu a úkol je splněn za mnohem kratší dobu a bez možnosti náhodné lidské chyby. Mohl být vyvinut velký složitý skript, který by se spustil pouze jednou, zatímco jiné skripty se používají znovu a znovu.
Skriptovatelné prvky aplikace jsou viditelné ve skriptovacím slovníku aplikace (distribuovaném jako součást aplikace), který lze zobrazit v libovolném editor skriptů. Prvky jsou obecně seskupeny do apartmá, podle volných funkčních vztahů mezi nimi. V každé sadě jsou dva základní druhy prvků: třídy a příkazy.
- Třídy jsou skriptovatelné objekty - například aplikace pro úpravy textu bude téměř jistě mít třídy pro okna, dokumenty a texty - a tyto třídy budou mít vlastnosti, které lze změnit (velikost okna, barva pozadí dokumentu, velikost písma textu atd.), a může obsahovat další třídy (okno bude obsahovat jeden nebo více dokumentů, dokument bude obsahovat text, textový objekt bude obsahovat odstavce a slova a znaky).
- Příkazy, na rozdíl od toho, jsou pokyny, které mohou být dány skriptovatelným objektům. Obecný formát pro blok AppleScript je sdělit skriptovatelný objekt ke spuštění příkazu.
Všechny skriptovatelné aplikace sdílejí několik základních příkazů a objektů, obvykle nazývaných Standard Suite - příkazy k otevření, zavření nebo uložení souboru, k tisku, ukončení, nastavení dat na proměnné - a také základní aplikace objekt, který poskytuje skriptovatelné vlastnosti samotné aplikace. Mnoho aplikací má četné sady schopné provádět jakýkoli úkol, který může sama aplikace provádět. Ve výjimečných případech mohou aplikace podporovat pluginy, které obsahují vlastní skriptovací slovníky.
AppleScript byl navržen s možností intuitivního vytváření skriptů zaznamenáváním akcí uživatelů. Takovou zapisovatelnost jazyka AppleScript je třeba do aplikace vložit - aplikace musí podporovat události Apple a záznam AppleScript;[12] protože Finder podporuje nahrávání AppleScript, může být užitečné pro referenci. Když AppleScript Editor (Script Editor) je otevřen a kliknuto na tlačítko Record, akce uživatelů pro zapisovatelné aplikace jsou převedeny na jejich ekvivalentní AppleScript příkazy a výstup do okna Script Editor. Výsledný skript lze uložit a znovu spustit, aby se duplikovaly původní akce, nebo upravit, aby byl obecně užitečnější.
Komentáře
Komentáře lze vytvářet několika způsoby. Jednořádkový komentář může začít dvěma spojovníky (--). V AppleScript 2.0, poprvé vydaném v Mac OS X Leopard, může také začínat znakem čísla (#). To umožňuje uložení samostatného skriptu AppleScript jako spustitelného textového souboru začínajícího na čára shebang #! / usr / bin / osascript
Příklad:
--Toto je jednořádkový komentář# Tak je to! (v systému Mac OS X Leopard nebo novějším)
U komentářů, které zabírají více řádků, používá AppleScript závorky s hvězdičkami uvnitř. Příklad:
(* Toto jenásobekčárakomentář *)
Ahoj světe!
V AppleScript, tradiční "Ahoj světe!" program lze psát mnoha různými formami, včetně:
dialogové okno zobrazení "Ahoj světe!" - modální okno s tlačítky „OK“ a „Zrušit“- nebozobrazit upozornění "Ahoj světe!" - modální okno s jediným tlačítkem „OK“ a ikonou představující aplikaci zobrazující upozornění- neboříci "Ahoj světe!" - zvuková zpráva využívající syntetizovaný počítačový hlas
AppleScript má několik možností uživatelského rozhraní, včetně dialogů, upozornění a seznamu možností. (Znak ¬, vytvořený zadáním ⌥ Možnost+vrátit se v editoru skriptů označuje pokračování jednoho příkazu přes více řádků.)
- Dialogsoubor dialogOdpovědět na dialogové okno zobrazení „Dialog Text“ ¬ výchozí Odpovědět „Textová odpověď“ ¬ skrytý Odpovědět Nepravdivé ¬ tlačítka {"Přeskočit", "Dobře", "Zrušení"} ¬ výchozí knoflík "Dobře" ¬ zrušení knoflík "Přeskočit" ¬ s titul „Název dialogového okna“ ¬ s ikona Poznámka ¬ dávat nahoru po 15
- Vyberte si ze seznamusoubor selectedListItem na vyberte ze seznamu {"A", "B", "3"} ¬ s titul "Název seznamu" ¬ s výzva „Prompt Text“ ¬ výchozí položky "B" ¬ OK knoflík název "Vypadá dobře!" ¬ zrušení knoflík název „Ne, zkus to znovu“ ¬ násobek výběry povoleno Nepravdivé ¬ s prázdný výběr povoleno
- Výstrahasoubor resultAlertReply na zobrazit upozornění „Výstražný text“ ¬ tak jako Varování ¬ tlačítka {"Přeskočit", "Dobře", "Zrušení"} ¬ výchozí knoflík 2 ¬ zrušení knoflík 1 ¬ dávat nahoru po 2
Každá metoda interakce s uživatelem může vrátit hodnoty klikaných tlačítek, vybraných položek nebo zadaného textu pro další zpracování. Například:
zobrazit upozornění "Ahoj světe!" tlačítka {„Hrubě odmítnout“, „Šťastně přijmout“}soubor odpověď na tlačítko se vrátilo z the výsledek-li odpověď je „Šťastně přijmout“ pak pípnutí 5jiný říci "Blbnutí!"konec -li
Přirozená jazyková metafora
Zatímco události Apple jsou způsob, jak odesílat zprávy do aplikací, AppleScript je konkrétní jazyk určený k odesílání událostí Apple. V souladu s cílem snadného použití pro začátečníky je jazyk AppleScript navržen na přirozený jazyk metafora, stejně jako grafické uživatelské prostředí je navržen na metafora plochy. Dobře napsaný AppleScript by měl být dostatečně jasný, aby ho mohl kdokoli přečíst a porozumět mu, a měl by být snadno editovatelný. Jazyk je z velké části založen na jazyce HyperCalk HyperCard, rozšířeném tak, aby odkazoval nejen na svět karet a stohů HyperCard, ale také teoreticky na jakýkoli dokument. Za tímto účelem tým AppleScript představil Objektový model AppleEvent (AEOM), který určuje objekty, které „zná“ jakákoli konkrétní aplikace.
Srdcem jazyka AppleScript je používání termínů, které fungují jako podstatná jména a slovesa, která lze kombinovat. Například místo jiného slovesa pro tisk stránky, dokumentu nebo rozsahu stránek (například printPage, printDocument, printRange) používá AppleScript jediné „tiskové“ sloveso, které lze kombinovat s objektem, například stránkou, dokument nebo rozsah stránek.
tisk strana 1tisk dokument 2tisk stránky 1 přes 5 z dokument 2
Obecně AEOM definuje řadu objektů - například „dokument“ nebo „odstavec“ - a odpovídající akce - například „vyjmout“ a „zavřít“. Systém také definuje způsoby odkazování na vlastnosti objektů, takže lze odkazovat na „třetí odstavec dokumentu„ Dobrý den ““ nebo „barvu posledního slova předního okna“. AEOM používá aplikaci slovník přidružit události Apple k člověkem čitelným termínům, což umožňuje překlad tam a zpět mezi člověkem čitelným AppleScript a bytecode Události Apple. Chcete-li zjistit, jaké prvky programu lze skriptovat, můžete si prohlédnout slovníky podporovaných aplikací. (V Xcode a Editor skriptů aplikací, toto je pod Soubor → Otevřít slovník.)
K určení, která aplikace má být cílem takové zprávy, používá AppleScript konstrukci „tell“:
sdělit aplikace "Microsoft Word" přestatkonec sdělit
Alternativně může být tell vyjádřen v jednom řádku pomocí znaku infinitiv:
sdělit aplikace "Microsoft Word" na přestat
U událostí v „Core Suite“ (aktivace, otevření, opětovné otevření, zavření, tisk a ukončení) může být aplikace dodána jako přímý objekt k přechodným příkazům:
přestat aplikace "Microsoft Word"
Pojem objektu hierarchie lze vyjádřit pomocí vnořených bloků:
sdělit aplikace „QuarkXPress“ sdělit dokument 1 sdělit strana 2 sdělit text krabice 1 soubor slovo 5 na "Jablko" konec sdělit konec sdělit konec sdělitkonec sdělit
Pojem objektu hierarchie lze také vyjádřit pomocí vnořeného předložkové věty:
pixel 7 z řádek 3 z TIFF obraz "moje bitmapa"
který v jiném programovací jazyk mohou být vyjádřeny jako postupné volání metody, jako v tomto pseudo kód:
getTIFF("moje bitmapa").getRow(3).getPixel(7);
AppleScript obsahuje syntaxi pro pořadové počítání, „první odstavec“, stejně jako kardinál, „odstavec jeden“. Podobně lze samotná čísla označovat jako textová nebo číselná, podporovány jsou „pět“, „pátý“ a „5“; jsou to synonyma v AppleScript. Slovo „the“ lze také legálně použít kdekoli ve skriptu, aby se zvýšila čitelnost: nemá to žádný vliv na funkčnost skriptu.
Příklady skriptů
Bezpečné kalkulačka:
sdělit aplikace "Nálezce" - Nastavit proměnné soubor the1 na text se vrátil z (dialogové okno zobrazení „První“ výchozí Odpovědět „Číslo sem“ tlačítka {"Pokračovat"} výchozí knoflík 1) soubor the2 na text se vrátil z (dialogové okno zobrazení „2.“ výchozí Odpovědět „Číslo sem“ tlačítka {"Pokračovat"} výchozí knoflík 1) Snaž se soubor the1 na the1 tak jako celé číslo soubor the2 na the2 tak jako celé číslo na chyba dialogové okno zobrazení „Do kalkulačky můžete zadávat pouze čísla.“ s titul "CHYBA" tlačítka {"OK"} výchozí knoflík 1 vrátit se konec Snaž se - Přidat? -li the tlačítko se vrátilo z (dialogové okno zobrazení "Přidat?" tlačítka {"Ne", "Ano"} výchozí knoflík 2) je "Ano" pak soubor ans na (the1 + the2) dialogové okno zobrazení ans s titul "Odpovědět" tlačítka {"OK"} výchozí knoflík 1 říci ans - Odečíst? jiný -li the tlačítko se vrátilo z (dialogové okno zobrazení "Odčítat?" tlačítka {"Ne", "Ano"} výchozí knoflík 2) je "Ano" pak soubor ans na (the1 - the2) dialogové okno zobrazení ans s titul "Odpovědět" tlačítka {"OK"} výchozí knoflík 1 říci ans - Násobit? jiný -li the tlačítko se vrátilo z (dialogové okno zobrazení "Násobit?" tlačítka {"Ne", "Ano"} výchozí knoflík 2) je "Ano" pak soubor ans na (the1 * the2) dialogové okno zobrazení ans s titul "Odpovědět" tlačítka {"OK"} výchozí knoflík 1 říci ans - Rozdělit? jiný -li the tlačítko se vrátilo z (dialogové okno zobrazení "Rozdělit?" tlačítka {"Ne", "Ano"} výchozí knoflík 2) je "Ano" pak soubor ans na (the1 / the2) dialogové okno zobrazení ans s titul "Odpovědět" tlačítka {"OK"} výchozí knoflík 1 říci ans jiný zpoždění 1 říci „Nevybrali jste žádnou funkci. Operace byla zrušena.“ konec -li konec sdělit
Jednoduchý uživatelské jméno a Heslo sekvence dialogového okna. Zde je uživatelské jméno John a heslo app123:
sdělit aplikace "Nálezce" soubor passAns na „app123“ soubor userAns na "John" -li the text se vrátil z (dialogové okno zobrazení „Uživatelské jméno“ výchozí Odpovědět "") je userAns pak dialogové okno zobrazení "Opravit" tlačítka {"Pokračovat"} výchozí knoflík 1 -li the text se vrátil z (dialogové okno zobrazení „Uživatelské jméno: John“ & vrátit se & "Heslo" výchozí Odpovědět "" tlačítka {"Pokračovat"} výchozí knoflík 1 s skrytý Odpovědět) je passAns pak dialogové okno zobrazení "Přístup umožněn" tlačítka {"OK"} výchozí knoflík 1 jiný dialogové okno zobrazení "Nesprávné heslo" tlačítka {"OK"} výchozí knoflík 1 konec -li jiný dialogové okno zobrazení „Nesprávné uživatelské jméno“ tlačítka {"OK"} výchozí knoflík 1 konec -likonec sdělit
Vývojové nástroje
Redaktoři skriptů
Editoři skriptů poskytují jednotné programovací prostředí pro AppleScripts, včetně nástrojů pro vytváření, ověřování, kompilaci, spouštění a ladění skriptů. Poskytují také mechanismy pro otevírání a prohlížení slovníků AppleScript ze skriptovacích aplikací, ukládání skriptů v mnoha formátech (kompilované soubory skriptů, balíčky aplikací, svazky skriptů a soubory prostého textu) a obvykle poskytují funkce, jako je zvýraznění syntaxe a předepsané úryvky kódu.
Od společnosti Apple
- AppleScript Editor (Editor skriptů)
- Volal editor pro AppleScript zabalený s macOS AppleScript Editor v Mac OS X Snow Leopard (10.6) až OS X Mavericks (10,9) a Editor skriptů ve všech starších a novějších verzích macOS. Skripty se zapisují do oken pro úpravy dokumentů, kde je lze kompilovat a spouštět, a tato okna obsahují různé podokna, ve kterých jsou k dispozici protokolované informace, výsledky provádění a další informace pro účely ladění. Přístup ke skriptovacím slovníkům a předepsaným fragmentům kódu je k dispozici v nabídkách aplikace. Od té doby OS X Yosemite (10.10), Script Editor obsahuje schopnost psát v AppleScript i JavaScript.[13]
- Xcode
- Sada nástrojů pro vývoj aplikací s funkcemi pro úpravy skriptů AppleScriptu nebo pro vytváření plnohodnotných aplikací psaných pomocí jazyka AppleScript.
Od třetích stran
- Debugger skriptů, z Software Late Night
- Komerční IDE třetí strany pro AppleScript. Script Debugger je pokročilejší prostředí AppleScript, které umožňuje spisovateli skriptů ladit AppleScripty pomocí jednoho šlapání, hraniční body, vstupování a výstup z funkcí / podprogramů, sledování proměnných atd. Script Debugger také obsahuje pokročilý prohlížeč slovníků, který uživateli umožňuje vidět slovník v akci v reálných situacích. To znamená, že spíše než jen výčet toho, co slovník pokrývá, lze otevřít dokument Stránky například a podívejte se, jak se výrazy slovníku vztahují na tento dokument, což usnadňuje určení, které části slovníku se mají použít. Script Debugger není určen k vytváření skriptů s grafickým uživatelským rozhraním, kromě základních výstrah a dialogů, ale je zaměřen spíše na kódování a ladění skriptů.
- Usměj se a SmileLab
- Freeware / komerční IDE třetí strany pro AppleScript, které je celé napsáno v AppleScript.[14] Smile je zdarma a je primárně určen pro vývoj AppleScript. SmileLab je komerční software s rozsáhlými doplňky pro numerickou analýzu, vytváření grafů, automatizaci strojů a webovou produkci. Smile a SmileLab používají sortiment různých oken - okna AppleScript pro spouštění a ukládání plných skriptů, terminály AppleScript pro testování kódu řádek po řádku, okna Unicode pro práci s textem a XML. Uživatelé mohou vytvářet složitá rozhraní zvaná dialogová okna - pro situace, kdy jsou vestavěné dialogy v AppleScript nedostatečné.
- ASObjC Explorer 4, Shane Stanley
- Ukončené komerční IDE třetích stran pro AppleScript, zejména pro AppleScriptObjC.[15] Hlavním rysem je Kakao -objekt / protokolování událostí, ladění a doplňování kódu. Uživatelé mohou číst kakaové události a objekty jako jiné skriptovatelné aplikace. Tento nástroj byl původně vytvořen pro Knihovny AppleScript (k dispozici v OS X Mavericks ). Knihovny AppleScript si kladou za cíl znovu použitelné komponenty AppleScript a podporují vestavěný slovník AppleScript (sdef). ASObjC Explorer 4 může být také externím editorem skriptů Xcode.
- FaceSpan, od Software Late Night
- Ukončené komerční IDE třetích stran pro vytváření aplikací AppleScript s grafickými uživatelskými rozhraními.[16]
Spouštěče skriptů
Skripty AppleScripty lze spustit z editoru skriptů, ale obvykle je pohodlnější spouštět skripty přímo, aniž byste museli otevírat aplikaci editoru skriptů. Existuje několik možností, jak toho dosáhnout:
- Applety
- Skripty AppleScripty lze uložit z editoru skriptů jako aplikace (tzv appletynebo kapénky když přijmou vstup přes drag and drop ).[3]:69 Applety lze spustit z Dok z panelu nástrojů Nálezce okna, z Reflektor, od třetí strany spouštěče aplikací nebo z jakéhokoli jiného místa, kde lze spouštět aplikace.
- Akce složky
- Pomocí akcí složek AppleScript lze spouštět skripty, když dojde ke konkrétním změnám ve složkách (například přidání nebo odebrání souborů).[17] Akce složek lze přiřadit kliknutím na složku a výběrem Nastavení akcí složky ... z kontextového menu; umístění tohoto příkazu se v systému Mac OS X 10.6.x od dřívějších verzí mírně liší. Stejné akce lze dosáhnout pomocí nástrojů třetích stran, jako je Hazel.[18]
- Spouštěče klávesových zkratek
- Klávesové zkratky lze přiřadit k AppleScriptům v nabídce skriptu pomocí Nastavení klávesnice a myši Panel předvoleb v Systémové preference. Kromě toho jsou k dispozici různé nástroje třetích stran—Alfréd,[19] FastScripts,[20] Klávesnice Maestro,[21] QuicKeys,[22] Rtuť,[23] TextExpander[24]—Který může spouštět skripty AppleScript na vyžádání pomocí kombinací kláves.
- Nabídka skriptů
- Tato nabídka pro celý systém poskytuje přístup k skriptům AppleScript z lišty nabídek macOS, viditelné bez ohledu na to, jaká aplikace je spuštěna.[25] (Kromě toho mnoho aplikací Apple, některé aplikace třetích stran a některé doplňky nabízejí vlastní nabídky skriptů. Tyto lze aktivovat různými způsoby, ale všechny fungují v podstatě stejným způsobem.) Výběr skriptu v nabídce skriptu se spustí to. Od systému Mac OS X 10.6.x lze nabídku skriptů pro celý systém povolit z předvoleb Editor skriptů; v předchozích verzích systému Mac OS X to bylo možné povolit z aplikace AppleScript Utility. Při první aktivaci se v nabídce skriptu zobrazí výchozí knihovna poměrně obecných a funkčních skriptů AppleScripts, kterou lze také otevřít v editoru skriptů a použít jako příklady pro výuku jazyka AppleScript. Skripty lze uspořádat tak, aby se v nabídce zobrazovaly, pouze když jsou v popředí konkrétní aplikace.
- Příkazový řádek Unix a launchd
- Skripty AppleScripty lze spustit z příkazového řádku Unixu nebo z launchd pro naplánované úkoly,[3]:716 pomocí nástroje příkazového řádku osascript.[26] Nástroj osascript může spouštět kompilované skripty (soubory .scpt) a soubory ve formátu prostého textu (soubory .applescript - tyto nástroje kompiluje za běhu). Skriptové aplikace lze spustit pomocí příkazu Unix open.
Související problémy se skriptováním
- Knihovny AppleScript
- Znovu použitelný AppleScript moduly (k dispozici od OS X Mavericks ), napsaný v AppleScript nebo AppleScriptObjC a uloženy jako soubory skriptu nebo svazky na určitých místech,[27] které lze volat z jiných skriptů. Když je knihovna uložena jako balíček, může obsahovat soubor slovníku AppleScript (sdef),[28] tedy funguje jako a přidání skriptů ale napsáno v AppleScript nebo AppleScriptObjC.
- AppleScript Studio
- Rámec pro připojení kakaových rozhraní k aplikacím AppleScript, který je součástí balíčku Xcode v systému Mac OS X 10.4 a 10.5, je nyní zastaralý ve prospěch AppleScriptObjC.[29]:438
- AppleScriptObjC
- A Kakao rozvoj softwarový rámec, také nazývaný AppleScript / Objective-C nebo ASOC,[30] část balíčku Xcode od roku Mac OS X Snow Leopard.[31] AppleScriptObjC umožňuje AppleScriptům přímo používat kakaové třídy a metody.[32] Následující tabulka ukazuje dostupnost AppleScriptObjC v různých verzích macOS:[33]
v Xcode | V appletech | v AppleScript Knihovny | v Editor skriptů | |
---|---|---|---|---|
10.6 | ![]() | |||
10.7 | ![]() | ![]() | ||
10.8 | ![]() | ![]() | ||
10.9 | ![]() | ![]() | ![]() | |
10.10 | ![]() | ![]() | ![]() | ![]() |
- Automator
- Grafické modulární editační prostředí, ve kterém pracovní toky jsou postaveny z akce. Je zamýšleno duplikovat mnoho funkcí AppleScriptu bez nutnosti znalosti programování. Automator má akci speciálně navrženou tak, aby obsahovala a spouštěla skripty AppleScripty pro úkoly, které jsou pro zjednodušený rámec Automator příliš složité.[34]
- Skriptovatelné základní aplikace systému
- Tyto aplikace pouze na pozadí, zabalené v systému macOS, se používají k tomu, aby AppleScript umožnil přístup k funkcím, které by za normálních okolností nebyly skriptovatelné. Od verze Mac OS X 10.6.3 obsahují skriptovatelné aplikace pro VoiceOver (balíček čtečky sluchátek a braillského písma s možností skriptování), Systémové události (ovládání nescriptovatelných aplikací a přístup k určitým systémovým funkcím a základním operacím se soubory), Printer Setup Utility (skriptovatelný nástroj pro zpracování tiskových úloh), Události obrazu (základní manipulace s obrazem) , HelpViewer (skriptovatelný nástroj pro zobrazování nápovědy), Database Events (minimální databázové rozhraní SQLite3) a AppleScript Utility (pro skriptování několika předvoleb souvisejících s AppleScript), stejně jako několik obslužných aplikací používaných systémem.
- Skriptovací doplňky (OSAX)
- Pluginy pro AppleScript vyvinuté společností Apple nebo třetími stranami.[35] Jsou navrženy tak, aby rozšiřovaly integrovanou sadu příkazů, rozšiřovaly funkce AppleScript a způsobily, že je o něco méně závislý na funkcích poskytovaných aplikacemi. macOS obsahuje kolekci skriptovacích doplňků označovaných jako standardní doplňky (StandardAdditions.osax), který přidává sadu příkazů a tříd, které nejsou součástí základních funkcí AppleScriptu, včetně dialogů interakce s uživateli, čtení a zápisu souborů, příkazů systému souborů, funkcí data a textových a matematických operací; bez tohoto OSAX by AppleScript neměl kapacitu provádět mnoho základních akcí, které aplikace přímo neposkytuje.
Jazykové základy
Třídy (datové typy)
Zatímco aplikace mohou definovat specializované třídy (nebo datové typy), AppleScript má také řadu předdefinovaných tříd. Tyto základní datové třídy jsou přímo podporovány jazykem a mají tendenci být všeobecně rozpoznány skriptovatelnými aplikacemi. Nejběžnější jsou následující:
- Základní objekty
- aplikace: objekt aplikace, používaný většinou jako specifikátor příkazů tell (
řekněte aplikaci „Vyhledávač“…
). - skript: objekt skriptu. Skriptové objekty jsou kontejnery pro skripty. Každý AppleScript vytvoří při spuštění objekt skriptu a objekty skriptu lze vytvořit v rámci AppleScripts.
- třída: metaobjekt, který určuje typ dalších objektů.
- odkaz: objekt, který zapouzdřuje nevyhodnocený specifikátor objektu, který může nebo nemusí ukazovat na platný objekt. Lze vyhodnotit na vyžádání přístupem k jeho
obsah
vlastnictví.
- aplikace: objekt aplikace, používaný většinou jako specifikátor příkazů tell (
- Standardní datové objekty
- konstantní: a konstantní hodnota. Existuje celá řada jazykově definovaných konstant, například
pi
,záložka
, alinefeed
. - booleovský: a Booleovský true / false hodnota. Vlastně a podtřída z
konstantní
. - číslo: zřídka používaný abstraktní nadtřída z
celé číslo
anemovitý
. - celé číslo: an celé číslo. Lze manipulovat s vestavěnými matematickými operátory.
- nemovitý: a plovoucí bod (nemovitý ) číslo. Lze manipulovat s vestavěnými matematickými operátory.
- datum: datum a čas.
- text: text. Ve verzích AppleScript před 2.0 (Mac OS X 10.4 a níže)
text
třída byla odlišná odtětiva
aText Unicode
a tři se chovali poněkud odlišně; v 2.0 (10.5) a novějších jsou všechna synonyma a veškerý text je zpracován jako UTF-16 (“Unicode ”) - kódováno.[36]
- konstantní: a konstantní hodnota. Existuje celá řada jazykově definovaných konstant, například
- Kontejnery
- seznam: seřazený seznam objektů. Může obsahovat jakoukoli třídu, včetně dalších seznamů a tříd definovaných aplikacemi.
- záznam: klíčovaný seznam objektů. Jako seznam, kromě strukturovaných jako páry klíč – hodnota. Přístup s klíčem za běhu není podporován; všechny klíče musí být identifikátory konstanty za kompilace.
- Souborový systém
- alias: odkaz na objekt systému souborů (soubor nebo složka). Alias zachová svůj odkaz na objekt, pokud je objekt přesunut nebo přejmenován.
- soubor: odkaz na objekt systému souborů (soubor nebo složka). Toto je statický odkaz a může odkazovat na objekt, který v současné době neexistuje.
- Soubor POSIX: odkaz na objekt systému souborů (soubor nebo složka), prostý text, pomocí Unixu (POSIX ) lomítko (/) notace. Není to skutečný datový typ, protože AppleScript automaticky převádí soubory POSIX na běžné soubory, kdykoli se použijí.[37]
- Smíšený
- RGB barva: určuje trojici RGB (v 16bitová vysoká barva formát), pro použití v příkazech a objektech, které pracují s barvami.
- typy jednotek: třída, která převádí mezi standardními jednotkami. Například lze definovat hodnotu jako
čtverečních yardů
, poté převedeny načtvereční stopa
litím mezi typy jednotek (pomocítak jako
operátor).
Jazykové struktury
Mnoho procesů AppleScript je spravováno bloky kódu, kde blok začíná příkazem příkaz a končí znakem konec příkazu prohlášení. Nejdůležitější struktury jsou popsány níže.
Podmíněné
AppleScript nabízí dva druhy podmíněných podmínek.
- Jednoduché podmíněné-li X < 1000 pak soubor X na X + 1- Sloučenina podmíněná-li X je větší než 3 pak - příkazyjiný - další příkazykonec -li
Smyčky
Opakovací smyčka AppleScript má několik mírně odlišných příchutí. Všichni provedou blok mezi nimi opakovat a konec opakování řádky několikrát. Smyčku lze předčasně zastavit povelem ukončení opakování.
Opakujte navždy.
opakovat - příkazy, které se mají opakovatkonec opakovat
Opakujte daný počet opakování.
opakovat 10 krát - příkazy, které se mají opakovatkonec opakovat
Podmíněné smyčky. Blok uvnitř opakujte chvíli smyčka se provádí, dokud se podmínka vyhodnotí jako true. Podmínka se znovu vyhodnotí po každém provedení bloku. The opakujte do smyčka je jinak identická, ale blok se provede, dokud se podmínka vyhodnotí jako nepravdivá.
soubor X na 5opakovat zatímco X > 0 soubor X na X - 1konec opakovatsoubor X na 5opakovat dokud X ≤ 0 soubor X na X - 1konec opakovat
Smyčka s proměnnou. Při spuštění smyčky je proměnná přiřazena počáteční hodnotě. Po každém provedení bloku se do proměnné přidá volitelná hodnota kroku. Výchozí hodnota kroku je 1.
- opakujte blok 2000krát, dostanu všechny hodnoty od 1 do 2000opakovat s i z 1 na 2000 - příkazy, které se mají opakovatkonec opakovat- opakujte blok 4krát, dostanu hodnoty 100, 75, 50 a 25opakovat s i z 100 na 25 podle -25 - příkazy, které se mají opakovat konec opakovat
Výčet seznamu. Na každé iteraci nastavte loopVariable na novou položku v daném seznamu
soubor celkový na 0opakovat s X v {1, 2, 3, 4, 5} soubor celkový na celkový + Xkonec opakovat
Cílení na aplikace | Vypořádání se s chybou |
---|---|
-- Jednoduchá formasdělit aplikace "Safari" na aktivovat- Sloučeninasdělit aplikace „Moje aplikace“ - příkazy pro aplikacikonec sdělit | Snaž se - příkazy, které mají být testoványna chyba - chybové příkazy konec Snaž se |
Jedna důležitá variace této blokové struktury je ve formě na —konec ... bloky, které se používají k definování manipulátory (podprogramy podobné funkcím). Obsluha začíná na název funkce () a končí na end functionName, a nejsou prováděny jako součást normálního toku skriptu, pokud nejsou volány odněkud ve skriptu.
Obslužná rutina funkce | Blok akcí složky | Spustit obsluhu |
---|---|---|
na moje funkce(parametry...) - příkazy podprogramu konec moje funkce | na přidávání složku položky na tato složka po příjem tyto věci - příkazy pro použití ve složce nebo položkáchkonec přidávání složku položky na | na běh - příkazykonec běh |
Obslužné rutiny lze také definovat pomocí „do“ namísto „na“ a lze je zapsat tak, aby přijímaly označené parametry, ne uzavřené v parenech.
Obsluha se značenými parametry | Obslužná rutina pomocí parametrů „do“ a označených parametrů |
---|---|
na Skála kolem the hodiny dialogové okno zobrazení (hodiny tak jako tětiva)konec Skála- volal s:Skála kolem the dnešní datum | na šek pro tvé číslo z dno přes horní -li dno ≤ tvé číslo a tvé číslo ≤ horní pak dialogové okno zobrazení „Gratuluji! Dal jsi gól.“ konec -likonec šek--zvané:šek pro 8 z 7 přes 10 |
V AppleScript existují čtyři typy předdefinovaných obslužných programů - run, open, idle a quit - každý z nich je vytvořen stejným způsobem jako výše uvedený obslužný program run.
- Spustit obsluhu
- Definuje hlavní kód skriptu, který se volá při spuštění skriptu. Bloky obslužné rutiny spuštění jsou volitelné, pokud nejsou skriptu předávány argumenty. Pokud je vynechán blok obslužné rutiny explicitního spuštění, pak se veškerý kód, který není obsažen uvnitř bloků obslužné rutiny, provede, jako by byl v implicitní obslužné rutině spuštění.
- Otevřená obsluha
- Definováno pomocí „on open theItems“.
na otevřeno předměty opakovat s tento předmět v předměty sdělit aplikace "Nálezce" na Aktualizace tento předmět konec opakovat konec otevřeno
Když je skript obsahující „otevřenou obslužnou rutinu“ uložen jako applet, stane se z appletu dropletu. Kapku lze ve Finderu identifikovat podle ikony, která obsahuje šipku označující, že na ikonu lze přetáhnout položku. obslužná rutina se spustí, když se na ikonu dropletu umístí soubory nebo složky. Odkazy na položky spadlé na ikonu dropletu se předají do skriptu dropletu jako parametr otevřeného obslužného programu. Droplet lze také spustit stejným způsobem jako běžný applet, provádění jeho obslužné rutiny běhu.
- Nečinný manipulátor
- Subrutina, kterou systém pravidelně spouští, když je aplikace nečinná.
na líný --code, který se má provést po dokončení spuštění skriptu vrátit se 60 - počet sekund do pauzy před opětovným spuštěním nečinného ovladačekonec líný
Obslužný program nečinnosti lze použít v appletech nebo kapičkách uložených jako applety s otevřeným přístupem a je užitečný pro skripty, které sledují konkrétní data nebo události. Ve výchozím nastavení je doba nečinnosti 30 sekund,[38] ale lze jej změnit zahrnutím příkazu 'return x' na konci podprogramu, kde x je počet sekund, po které by měl systém počkat, než znovu spustí obslužnou rutinu.
- Ukončete obsluhu
- Obslužná rutina, která se spustí, když applet obdrží požadavek Quit. To lze použít k uložení dat nebo k ukončení dalších úkolů před ukončením.
na přestat - příkazy k provedení před ukončením skriptu pokračovat přestat - požadováno pro skutečné ukončení skriptukonec přestat
- Skriptové objekty
Objekty skriptu lze definovat explicitně pomocí syntaxe:
skript název_skriptu - příkazy a obslužné rutiny specifické pro skriptkonec skript
Objekty skriptů mohou používat stejné struktury typu „tell“, jaké se používají pro objekty aplikací, a lze je načíst a uložit do souborů. Čas spuštění modulu runtime lze v některých případech zkrátit pomocí objektů skriptu.
Ruzne informace
- Proměnné nejsou přísně zadány a není třeba je deklarovat. Proměnné mohou mít jakýkoli datový typ (včetně skriptů a funkcí). Následující příkazy jsou příklady vytváření proměnných:
soubor proměnná1 na 1 - vytvořte celočíselnou proměnnou nazvanou variable1soubor proměnná2 na "Ahoj" - vytvořte textovou proměnnou nazvanou variable2kopírovat {17, „doubleday“} na proměnná3 - vytvořit proměnnou seznamu nazvanou variable3soubor {proměnná4, proměnná5} na proměnná3 - zkopírujte položky seznamu proměnné3 do samostatných proměnných variable4 a variable5soubor proměnná6 na skript myScript - nastavit proměnnou na instanci skriptu
- Objekty skriptu jsou úplné objekty - mohou zapouzdřit metody a data a zdědit data a chování z nadřazeného skriptu.
- Subrutiny nelze volat přímo z bloků aplikace tell. K tomu použijte klíčová slova „můj“ nebo „můj“.
sdělit aplikace "Nálezce" soubor X na můj myHandler() - nebo soubor X na myHandler() z měkonec sdělitna myHandler() --příkazykonec myHandler
Použití stejné techniky pro skriptování přídavných příkazů může snížit chyby a zlepšit výkon.
sdělit aplikace "Nálezce" soubor jakékoliv číslo na můj (náhodné číslo z 5 na 50)konec sdělit
Otevřená skriptovací architektura
Důležitým aspektem implementace AppleScript je Otevřená skriptovací architektura (OSA).[39] Apple poskytuje OSA pro další skriptovací jazyky a skriptovací / automatizační produkty třetích stran, jako jsou QuicKeys a UserLand Frontier, aby fungoval na rovnocenném stavu s AppleScript. AppleScript byl implementován jako skriptování součástka a základní specifikace pro propojení těchto komponent s OSA byly veřejné, což ostatním vývojářům umožnilo přidat do systému vlastní skriptovací komponenty. Veřejný klient API pro načítání, ukládání a kompilaci skriptů by fungovalo stejně pro všechny takové komponenty, což také znamenalo, že applety a kapičky mohly obsahovat skripty v kterémkoli z těchto skriptovacích jazyků.
Jednou z funkcí OSA je skriptové dodatky nebo OSAX pro Otevřená skriptovací architektura eXtension,[35] které byly inspirovány HyperCard externí příkazy. Skriptovací dodatky jsou knihovny které programátorům umožňují rozšířit funkci AppleScript. Příkazy zahrnuté jako doplňky skriptování jsou k dispozici v celém systému a nejsou závislé na aplikaci (viz také § Knihovny AppleScript ). Editor AppleScript je také schopen přímo upravovat a spouštět některé jazyky OSA.
JavaScript pro automatizaci
![]() | Tato sekce potřebuje expanzi s: srovnání skriptování JXA a AppleScript. Můžete pomoci přidávat k tomu. (Květen 2017) |
Pod OS X Yosemite a novější verze systému macOS JavaScript pro automatizaci (JXA) komponenta zůstává jedinou vážnou alternativou jazyka OSA k AppleScript,[13] ačkoli Macintosh verze Perl, Krajta, Rubín, a Tcl all support native means of working with Apple events without being OSA components.[29]:516
JXA also provides an Cíl-C (and C language) foreign language interface.[13] Being an environment based on WebKit's JavaScriptCore engine, the JavaScript feature set is in sync with the system Safari browser engine. JXA provides a JavaScript module system and it is also possible to use CommonJS modules via browserify.[40]
Viz také
- BBEdit — a highly scriptable text editor
Reference
- ^ „Datum vydání OS X 10.10 Yosemite“. Citováno 16. listopadu 2014.
- ^ A b C d Goldstein, Adam (2005). AppleScript: the missing manual. Sebastopol, CA: O'Reilly Media. ISBN 0596008503. OCLC 56912218.
- ^ A b C d E F G h i Sanderson, Hamish; Rosenthal, Hanaan (2009). Learn AppleScript: the comprehensive guide to scripting and automation on Mac OS X (3. vyd.). Berkeley: Apress. doi:10.1007/978-1-4302-2362-7_27. ISBN 9781430223610. OCLC 308193726.
- ^ Flynn, Laurie (February 27, 1989). „Apple Ponders Standardizing on HyperTalk“. InfoWorld. str. 31.
- ^ A b Cook, William (2007). "AppleScript" (PDF). History of Programming Languages (HOPL III). Proceedings of the third ACM SIGPLAN conference. Sdružení pro výpočetní techniku: 1–21. doi:10.1145/1238844.1238845. ISBN 9781595937667. S2CID 220938191.
- ^ "AppleScript Language Guide commands reference: do shell script". developer.apple.com. Citováno 15. září 2019.
- ^ "Apple's greatest hits: 30 significant products". macworld.com. Citováno 12. září 2019.
- ^ Gruber, Johne (Březen 2013). "The unlikely persistence of AppleScript". Macworld. 30 (3): 100.
- ^ Lovejoy, Ben (November 17, 2016). "Sal Soghoian says 'ask Apple' about future of Mac user automation as company eliminates position". 9to5mac.com. Citováno 8. května 2017.
- ^ Evans, Jonny (November 17, 2016). "Does Apple really want to kill Automator, AppleScript? Shock termination of veteran Apple developer guru sends shockwaves across the Mac community". Computerworld.com. Citováno 8. května 2017.
- ^ Gamet, Jeff (November 23, 2016). "Apple's intent isn't the same as committing to mac automation". macobserver.com. Citováno 8. května 2017.
- ^ "Scriptable Applications". developer.apple.com. Citováno 26. července 2018.
- ^ A b C Siracusa, John (16. října 2014). "OS X 10.10 Yosemite: The Ars Technica Review: JavaScript automation". Ars Technica. Citováno 8. května 2017.
- ^ "Smile and SmileLab Home Page". satimage.fr. Citováno 8. května 2017.
- ^ "ASObjC Explorer 4 Discontinued". macosxautomation.com. Archivovány od originál 21. června 2017. Citováno 8. května 2017.
- ^ "Mark Alldritt's Journal » FaceSpan". blog.latenightsw.com. Citováno 8. května 2017.
- ^ "AppleScript Language Guide: Folder Actions Reference". developer.apple.com. Citováno 8. května 2017.
- ^ Miller, Dan (December 22, 2010). "Capsule review: Hazel 2.3". Macworld.com. Citováno 8. května 2017.
- ^ Beam, Brian (February 10, 2015). "Alfred review: This Mac app launcher continues to shine, but Alfred Remote doesn't stack up". Macworld.com. Citováno 10. května 2017.
- ^ Frakes, Dan (June 2, 2011). "Capsule review: FastScripts 2.5". Macworld.com. Citováno 8. května 2017.
- ^ Breen, Christopher (June 4, 2013). "Mac Gems: Keyboard Maestro 6 is a genius at repetitive tasks". Macworld.com. Citováno 10. května 2017.
- ^ Breen, Christopher (May 7, 2010). "Capsule review: QuicKeys 4". Macworld.com. Citováno 8. května 2017.
- ^ "AppleScripts – Quicksilver Wiki". qsapp.com. Citováno 10. května 2017.
- ^ Fleishman, Glenn (June 12, 2015). "TextExpander 5 review". Macworld.com. Citováno 8. května 2017.
- ^ "Mac Automation Scripting Guide: Using the Systemwide Script Menu". developer.apple.com. Citováno 8. května 2017.
- ^ "osascript(1) Mac OS X Manual Page". developer.apple.com. Citováno 8. května 2017.
- ^ "AppleScript Libraries". macosautomation.com. Citováno 8. května 2017.
- ^ "WWDC 2013 Session 416: Introducing AppleScript Libraries". asciiwwdc.com. Citováno 8. května 2017.
- ^ A b Neuburg, Matt (2006). AppleScript: the definitive guide (2. vyd.). Peking: O'Reilly Media. ISBN 0596102119. OCLC 68694976.
- ^ Tsai, Michael (September 29, 2014). "AppleScript and Yosemite". mjtsai.com. Citováno 9. května 2017.
- ^ „Poznámky k verzi AppleScriptObjC“. developer.apple.com. Citováno 8. května 2017.
- ^ Waldie, Ben (September 6, 2012). "Building a basic AppleScriptObjC (Cocoa-AppleScript) application with Xcode". peachpit.com. Citováno 9. května 2017.
- ^ Table adapted from: Naganoya, Takaaki. "ASObjCExtras Scripting Guide" (PDF). piyocast.com. Citováno 9. května 2017.
- ^ "Introduction to Automator AppleScript Actions Tutorial". developer.apple.com. Citováno 8. května 2017.
- ^ A b "Technical Note TN1164: Scripting Additions for Mac OS X". developer.apple.com. Citováno 8. května 2017.
- ^ "AppleScript Release Notes: 10.5 Changes". developer.apple.com. Citováno 8. května 2017.
- ^ "POSIX file — Class Reference — AppleScript Language Guide". developer.apple.com. Citováno 8. ledna 2018.
- ^ "AppleScript Language Guide: Handlers in Script Applications". developer.apple.com. Citováno 21. července 2013.
- ^ "AppleScript Overview: Open Scripting Architecture". developer.apple.com. Citováno 8. května 2017.
- ^ "Importing Scripts". GitHub. JXA-Cookbook. 6. prosince 2019. Citováno 9. prosince 2019.
Další čtení
- "AppleScript Language Guide". developer.apple.com. 2016. Citováno 9. května 2017. Older version (2015) in PDF format available from: CiteSeerX: 10.1.1.697.5220
- Munro, Mark Conway (2010). AppleScript. Developer Reference. Wiley. ISBN 978-0-470-56229-1.
- Rosenthal, Hanaan; Sanderson, Hamish (2010). Learn AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X (Třetí vydání.). Apress. ISBN 978-1-4302-2361-0.
- Soghoian, Sal; Cheeseman, Bill (2009). Apple Training Series: AppleScript 1-2-3. Peachpit Press. ISBN 978-0-321-14931-2.
- Cook, William (2007). "AppleScript" (PDF). History of Programming Languages (HOPL III). Proceedings of the third ACM SIGPLAN conference. ACM: 1–21. doi:10.1145/1238844.1238845. ISBN 9781595937667. S2CID 220938191.
- Ford Jr., Jerry Lee (2007). AppleScript Programming for the Absolute Beginner. Technologie kurzu. ISBN 978-1-59863-384-9.
- Neuburg, Matt (2006). AppleScript: The Definitive Guide. O'Reilly Media. ISBN 0-596-10211-9.
- Goldstein, Adam (2005). AppleScript: The Missing Manual. O'Reilly Media. ISBN 0-596-00850-3.
- Trinko, Tom (2004). AppleScript for Dummies. Pro figuríny. ISBN 978-0-7645-7494-8.
externí odkazy
- AppleScript na Curlie
- "AppleScript Overview". developer.apple.com. 2007. Citováno 7. listopadu 2020.
- "AppleScript for Python Programmers (Comparison Chart)". aurelio.net. 2005. Citováno 9. května 2017.
- "Doug's AppleScripts for iTunes". dougscripts.com. Citováno 9. května 2017.
- "Mac OS X Automation". macosautomation.com. Citováno 9. května 2017.
- "MacScripter AppleScript community". macscripter.net. Citováno 9. května 2017.