Wenn ich eine Skriptbibliothek eines Drittanbieters verwende, kann ich keine AppleScript-Datei mehr in Script Editor.app speichern

Ich habe eine AppleScript .scpt-Datei, die die Dialog Toolkit- Skriptbibliothek verwendet :

Dialog Toolkit ist eine ASObjC-basierte Skriptbibliothek zum Anzeigen erweiterter Dialoge.

Die folgende Zeile befindet sich am Anfang der .scpt-Datei:

use script "Dialog Toolkit" version "2.0"

Die Dialog Toolkit- Datei befindet sich am richtigen Speicherort:

/Users/Me/Library/Script Libraries/Dialog Toolkit.scptd

Wenn ich jedoch versuche, meine .scpt-Datei in Script Editor.app zu speichern, erhalte ich die folgende Meldung:

Der Dialog lautet:

Das Dokument „Ohne Titel.scpt“ konnte nicht gespeichert werden. C- und Objective-C-Zeiger können nicht in Skripten gespeichert werden.

Das Kompilieren des Skripts setzt Eigenschaftswerte zurück und kann dieses Problem beheben.

Ich kenne die Bedeutung von " C- und Objective-C-Zeigern " nicht , daher verstehe ich das Problem nicht.

Ich kann das Skript erfolgreich ausführen und kompilieren. Aber nachdem ich das Skript kompiliert habe, kann ich die Datei immer noch nicht speichern; Ich bekomme immer noch die obige Fehlermeldung.

Wenn ich den vollständigen Code kopiere und in ein neues Dokument im Skripteditor einfüge , bleibt der Fehler bestehen.

Wenn ich den gesamten Dialog Toolkit- Code aus meinem Skript entferne, kann ich die .scpt-Datei ohne Fehler speichern. Daher scheint das Problem etwas damit zu tun zu haben, wie der Skripteditor eine externe Skriptbibliothek handhabt.


Außerdem habe ich bei der Arbeit an meinem Skript, das Dialog Toolkit- Code im Skript-Editor enthält, allgemeine "Fehler" bemerkt.

  • Beispielsweise wird Script Editor.app manchmal spontan beendet, wenn das Dokument geöffnet ist.

  • Ein anderes Mal, wenn ich auf die Schaltfläche „Compile the Script“ oder „Run the Script“ drücke , verwandelt sich mein Cursor in das sich drehende Windrad und bleibt über eine Minute lang ein Windrad. Der Skripteditor friert ein, also muss ich das Beenden des Skripteditors erzwingen.


Es besteht die Möglichkeit, dass diese Frage mit einer früheren Frage von mir zusammenhängt:

Alles, was im Abschnitt "Was ich versucht habe:" der obigen Frage aufgeführt ist, konnte den The document could not be saved.Fehler ebenfalls nicht beheben.


OS X El Capitan, Version 10.11.6.

Skripteditor Version 2.8.1 (183.1)

Antworten (1)

Als erstes würde ich versuchen, das scripteditor.app-Bibliotheksfenster zu öffnen. Gehen Sie im Scripteditor zum Menüpunkt "Fenster/Bibliothek"

Geben Sie hier die Bildbeschreibung ein

Wenn das Dialog-Toolkit in der Liste vorhanden ist, würde ich es in der Liste auswählen und entfernen. Dann würde ich scripteditor.app beenden und erneut starten. Sobald scripteditor.app wieder betriebsbereit ist, öffnen Sie das Bibliotheksfenster und klicken Sie auf die Schaltfläche „Hinzufügen“ in der Menüleiste und navigieren Sie zu ~/Library/Script Libraries und wählen Sie Dialog Toolkit.scptd.

Das löst wahrscheinlich dein Problem. Ich habe das komische Gefühl, dass das Problem auftritt, weil Ihre neue Datei com.apple.ScriptEditor2.plist wahrscheinlich keinen Verweis auf Dialog Toolkit.scptd enthält, wie in diesem Beispiel in diesem Bild.

Dies ist die in xcode geöffnete Datei com.apple.ScriptEditor2.plist

Geben Sie hier die Bildbeschreibung ein

Können Sie bitte erklären, wie Sie "das scripteditor.app-Bibliotheksfenster öffnen" ? Ich verstehe nicht, wie du auf den Screenshot gekommen bist.
Dialog Toolkit war nicht in der "Bibliothek"-Liste des Skript-Editors vorhanden, also habe ich es hinzugefügt. Ich habe dann den Skripteditor neu gestartet. Aber als ich die .scpt-Datei speichern wollte, die Dialog Toolkit- Code enthält, erhielt ich immer noch denselben Fehler, den ich in meinem Beitrag beschrieben hatte. Ich habe dann meine Datei in Xcode geöffnet und gesehen, dass sie die Dialog Toolkit-com.apple.ScriptEditor2.plist Bibliothek enthält . Ich habe dann jedoch die Dialog Toolkit- Bibliothek im Menü des Skripteditors gelöscht und sofort wieder hinzugefügt. Ich habe dann das Skript kompiliert und festgestellt, dass ich die .scpt-Datei jetzt fehlerfrei speichern kann. Danke!
So lernen wir LOL, es dreht sich alles um Versuch und Irrtum
Ja. Ich werde jedoch sagen, dass diese ganze Erfahrung mit dem Skripteditor dazu geführt hat, dass Script Debugger.app attraktiver aussieht ...
Seit Ihrem YouTube Play/Pause-Beitrag habe ich meinen Fokus vom Skript-Debugger auf den Kampf mit Xcode gerichtet, lol