Benutzer-Werkzeuge

Webseiten-Werkzeuge

doku:applescriptcopy

~~DISCUSSION~~

AppleScript kopieren

AppleScripte erstellt man normalerweise mit dem AppleScript-Editor. Aber wie kopiert man die erstellten Dateien?

Problem 1: Meldung LSOpenURLsWithRole() failed with error -10810 for the file

Die app-Datei kann im Finder nicht gestartet werden (keine Reaktion) und in der Kommandozeile erscheint: LSOpenURLsWithRole() failed with error -10810 for the file meinscript.app

Ursache: Die eigentliche Scriptdatei ist nicht ausführbar (z.B. weil Dateien ohne vollständige Meta-Daten (Permissions) kopiert wurden.

Lösung:

  • einzeln: chmod meinscript.app/Contents/MacOS/applet
  • in allen Apps im Ordner: find . -name applet -exec chmod +x {} \;

Problem 2: Programm binär

Ein AppleScript wird als „Programm“ gespeichert, die Datei (Endung .app) wird auf ein Nicht-Apple-System kopiert (z.B. mit scp auf ein Linux-Server) und zurückkopiert, dann sind die Dateien zwar identisch, aber die kopierte .app-Datei ist nicht mehr ausführbar.

Original:

klaus-frankens-mac-mini:Scripts kfr$ md5 sp,kfr.app
MD5 (sp,kfr.app) = dd680eb9c6789d57bce4dba6a40117b0
klaus-frankens-mac-mini:Scripts kfr$ ls -la sp,kfr.app 
-rwxr-xr-x@ 1 kfr  staff  13780 28 Mai 12:33 sp,kfr.app

Kopie:

klaus-frankens-mac-mini:tmp kfr$ md5 sp,kfr.app 
MD5 (sp,kfr.app) = dd680eb9c6789d57bce4dba6a40117b0
klaus-frankens-mac-mini:tmp kfr$ ls -la sp,kfr.app 
-rwxr-xr-x  1 kfr  staff  13780 28 Mai 12:48 sp,kfr.app

:?: Was bedeutet eigentlich das „@“ bei der ls-Ausgabe? :!: das sind erweiterte Attribute, siehe macosxxattr und bei Lösung unten

Im Finder erscheint die Datei als „Classic“-Programm und kann nicht ausgeführt werden:

Im Skripteditor kann die Datei nicht mehr gelesen werden:

Lösung:

  • siehe auch macosxxattr
  • die „erweiterten Attribute“ werden nicht mitkopiert, aber darin wird sowohl die Info gespeichert, wie das Programm ausgeführt werden soll, als auch das Script selbst, allerdings „binär“
    • eine sehr blöde Methode!
  • Abhilfe: Speicher Script im scripteditor als „Programm-Bundle“, das ergibt einen Ordner, der sich normal kopieren lässt.
Permalink doku/applescriptcopy.txt · Zuletzt geändert: 04.10.2013 22:55 von kfr

oeffentlich