macfidelity

|

rethinking the think-different thing

Getting Started mit AppleScript (Lektion XV – XCode Droplet)

September 5th, 2008 at 21:47

Und hier Teil XV der AppleScript Reihe Getting Started.

Die bisherigen Beiträge haben sich dem Script Editor und einigen prinizipiellen Funktionen gewidmet, so langsam wird es aber Zeit mal tiefer einzusteigen …. konkret ein AppleScript Droplet Grundgerüst mit XCode zu realiseren.

Vorraussetzungen:

XCode. Dies findet man auf der Mac OS X Installations-CD/DVD in meist veralteter Form oder man erstellt sich einen kostenfreien ADC Account bei Apple und hat Zugriff auf die aktuellsten Downloads.

XCode starten

Nach erfolgreicher Installation sollte man XCode.app unter /Developer/Applications/ finden.

Neues Droplet Projekt anlegen

In der XCode Menüzeile via File -> New Project

den Projekt-Assistenten starten

Ich will hier ein kleines AppleScript basiertes Droplet basteln, also AppleScript Droplet wählen und weiter.

Nun müssen wir dem Projekt einen Namen geben sowie den Speicherort definieren

Bestätigen wir unsere Eingaben mittels Finish gelanden wir zur Hauptübersicht in XCode

Das XCode Haupt Fenster

Beim ersten Mal wirkt das ganze relativ komplex, aber nach und nach werden sich die Fragezeichen in Luft auflösen, hoffe ich zumindest.

Was wir sehen, ist das automatisch vordefinierte Grundgerüst für den selektierten Projekttyp. Hier nimmt Apple einem reichlich Arbeit ab, was für schnelle Bastelösungen absolut hilfreich ist.

In der Toolbar von XCode sind einige wichtige Funktionen wie BUILD und BUILD & GO direkt selektierbar.

Links sehen wir mehrer Ordner, im mittigen Teil des Fensters einige wichtige Dateien.

Zu diesem Zeitpunkt will ich jetzt aber noch gar nicht ins Detail gehen, sondern das Projekt einfach mal compilen und ausführen.

First run

Dafür einmal den Knopf Build & Go in der Toolbar des XCode HauptFensters drücken. Das bisher rot eingefärbte File lektion15_droplet.app wird nun zum ersten mal erstellt und wird zukünftig auch schwarz wie alle anderen Dateien im Hauptfenster angezeigt.

Nach erfolreichem Compile sollten wir im Mac OS X Dock unser laufendes Droplet sehen. Das Icon wird bei euch leicht anderst aussehen, was aber einfach nur mit meinem Default File Icons zu tun hat, daher keine Sorge.

Nun gut, jetzt haben wir ein laufendes Droplet, welches aber eigentlich noch keine Funktion hat.

Versuchsweise kann man jetzt eine beliebige Datei auf das Droplet Icon ziehen, es wird aber nichts passieren, außer das sich das Programm beendet. Das ist ok so, also keine Sorgen

Zurück zu XCode

AppleScript Code sichten

Also schaffen wir uns mal einen Überblick über den vorhandenen AppleScript Code. Hierfür doppelklicken wir das File Application.applescript im Hauptfenster. Dies öffnet einen AppleScript Editor, ähnlich dem bekannten Script Editor.

Das Default AppleScript Droplet File hat 2 Grundfunktionen:

  • on idle
  • on open names

Erklärung des Default Codes:

Die erste Funktion on idle ist leer und macht einfach gar nichts in dieser Form.

Die zweite Funktion on open names wird ausgelöst wenn eine oder mehrere Dateien oder Ordner auf das Droplet Programmsymbol gezogen werden.

Da sich bisher nur der Befehl quit innerhalb der Funktion on open names befindet, wird das Droplet wie oben erwähnt geschlossen sobald es gefüttert wird.

Erste Modifikation am AppleScript Code

Die quit Funktion wird nun erstmal auskommentiert, da wir ggf zu Testzwecken mehrfach Dateien oder Ordner auf unser Droplet Symbol ziehen können wollen, ohne es immer neu zu starten.

Desweiteren habe ich die Funktion on open names leicht ergänzt (display dialog),damit wir auch zumindest eine kleine Reaktion sehen wenn wir das Droplet füttern.

Das ganze nun wieder entweder im HauptFenster oder direkt im Script-Editor via Build & Go compilen und ausführen.

Wenn wir nun eine oder mehrere Dateien auf das Droplet Icon im Dock ziehen erhaltne wir den neu hinzugefügten Dialog zu sehen und das Programm bleibt offen.

Das heißt ihr könnt jetzt beliebig oft füttern.

AppleScript um Counter erweitern

Nun erweitern wir den Code um einen Counter der es uns ermöglicht am Ende auszugeben wieviel Dateien (oder Ordner) auf das Droplet gezogen wurden (je Drop)

Dafür definieren wir innerhalb on open names eine Variable myFileCounter und setzen diese auf den Wert 0.

Anschließend fügen wir eine Repeat Schleife hinzu die für jedes File durchlaufne wird. Um es einfach zu halten zählen wir jetzt nur den Counter jeweils eins höher und zeigne einen Dialog an.

Nach Ende der Repeat-Schleife geben wir den Zähler in einem Dialog aus

d.h. ziehen wir nun 3 Dateien auf das Dock-Icon erhalten wir 4 Dialoge:

  • 3 mal (je File) den Dialog “This was a single file”
  • 1 mal den Inhalt des Zählers am Ende

Pfade der Dateien auslesen

Um dem ganzen Droplet mal eine Mini-Funktion zu verleihen verändern wir den Inhalt der Schleife nun. Anstatt X mal den gleichen Dialog auszugehen, wollen wir den Pfad der Datei sehen. Dazu verwenden wir quoted form of POSIX path und geben diesen dann je Bild auch direkt aus.

Als Ergebnis sollten wir folgende Dialoge erhalten:

  • Je File einmal den vollen Pfad
  • Abschließend die Summe der verarbeiteten Dateien

Das wars für heute, Lektion 16 wird dann direkt auf diesen Artikel aufbauen. Ich hoffe das ganze war detailiert genug um einen Einstieg zu finden. XCode ist relativ umfangreich und es macht im Kern auch keinne Sinn gleiche alle Funktionen zu erlernen.

Bei Lust und Laune macht es jedoch sicher Sinn sich mal in der IDE umzuschauen und sich mit den Fenstern und Menüpunkten anzufreunden.

Aufruf: Ideensammlung

Um ehrlich zu sein, bin ich noch unentschloßen was das Droplet den in Zukunft (den folgenden Beiträgen) machen soll, daher rufe ich hier mal alle Leser auf Ideen per Kommentar zu hinterlassen.

Wenn was brauchbares kommt nimm ich die Idee gerne auf.

Ciao
fidel

Tags: , , , , , ,

6 Responses to “Getting Started mit AppleScript (Lektion XV – XCode Droplet)”

  1. Zettt Says:

    Du bist meine Rettung. Danke auf die Idee bin ich noch gar nicht gekommen.

    ReplyReply
  2. fidel Says:

    Hi Zettt,

    was genau meinst du ?

    ReplyReply
  3. Zap! your Apps von der Finder Toolbar aus | zHome Says:

    [...] bin ich bei Macfidelity darauf gestossen. Er hat mir ein Problem einfach gelöst, dass ich schwieriger versucht hatte zu [...]

  4. fidel Says:

    Ok, jetzt verstanden =)

    Immer wieder gerne …. gib einfach Bescheid

    ReplyReply
  5. BetaParadogma Says:

    nice tutorial für apple script n00bs wie mich.
    gruß aus dem dicken b.

    ReplyReply
  6. mac | Umgang mit Droplets in Mac OS X | macfidelity Says:

    [...] durch die Erwähnung des Begriffes AppleScript bereits abgelenkt sein sollte kann einen Blick auf diesen historischen Blog-Post werfen – dort zeigte ich vor längerer Zeit wie man sich selbst in XCode ein [...]

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>