• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

preferences für ein Skript erstellen

  • Ersteller JohannesDörnte
  • Erstellt am

JohannesDörnte

Gast
Hi,

ich möchte für ein Skript Preferences erstellen. Beim Start soll das Script diese auf bestimmte Werte (Zahlen, Pfad als Strings) abfragen - und bei Fehlen anlegen (in ~/Library/Preferences). Während der Laufzeit müssen Werte neu geschrieben werden.

Kann mir jemand helfen, wo ich das nachlesen kann - oder gerne auch ein Beispiel posten.

Ist das möglich? Jede andere Möglichkeit außer einer Pref-Datei wäre natürlich auch interessant. Die Werte müssen halt nur mehrere Aufrufe des Skriptes überdauern.

Vielen Dank im Voraus
Johannes Dörnte
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Hallo Johannes,

wenn du dein Scriptprogramm mit dem AppleScriptStudio (Xcode) anlegst, dann kannst du direkt auf die 'user defaults' deines Programms zugreifen:

Code:
-- Eintrag anlegen
make new default entry at end of default entries of user defaults with properties {name:"nameOfTheKey", contents:theValue}

-- Eintrag überschreiben/neu setzen
set contents of default entry "nameOfTheKey" of user defaults to theNewValue

-- Eintrag auslesen
set myValue to  (contents of default entry "nameOfTheKey" of user defaults)

bei einem reinen AppleScript (SkriptEditor) könnte das mit dem Shellbefehl 'defaults' realisiert werden:
Code:
defaults write com.me.myNewScript "nameOfTheKey" 'value' -- *
defaults read com.me.myNewScript "nameOfTheKey"

* lies dazu in den man pages von 'defaults':

write domain key 'value'
Writes value as the value for key in domain. value must be
a property list, and must be enclosed in single quotes. For
example:

defaults write com.companyname.appname "Default Color" '(255, 0, 0)'

sets the value for Default Color to an array containing the
strings 255, 0, 0 (the red, green, and blue components).
Note that the key is enclosed in quotation marks because it
contains a space.


vom AppleScript aus kannst du das mit 'do shell script' einbauen:

Code:
do shell script ("defaults write com.me.myNewScript \"Prefs Value 1\" '(255,0,0)'")
get (do shell script "defaults read com.me.myNewScript \"Prefs Value 1\"")


Ich hoffe, das hilft dir weiter ...

Grüße,

D.
 

JohannesDörnte

Gast
Ich denke erst ma ja - vielen Dank. Ich werde mich wohl doch mal mit XCode beschäftigen müssen. Erzeugt XCode ganz normale AppleScripts oder werden damits Applications auf der Basis eines AppleScripts erzeugt?

Gibt es da vieleicht einen Tipp für ein gutes Tutorial (so wie das auf Fischer-Bayer.de für AppleScript)?

Johannes Dörnte
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
JohannesDörnte schrieb:
Erzeugt XCode ganz normale AppleScripts oder werden damits Applications auf der Basis eines AppleScripts erzeugt?

Letzteres. Mit dem AppleScript Studio (ist integriert in Xcode) kannst du auf Basis von AppleScript Cocoa-Programme erstellen und auch dabei auch (fast) alle User Interface 'Bausteine' verwenden, die Cocoa bietet - das Ergebnis sieht damit dann aus wie ein 'richtiges' Programm ;) Ein weiterer Pluspunkt gegenüber dem 'reinen AppleScript' vom SkriptEditor, ist die Möglichkeit, AppleScript-Bestandteile mit Objective-C oder anderen Sprachen in einem Projekt zu kombinieren.


JohannesDörnte schrieb:
Gibt es da vieleicht einen Tipp für ein gutes Tutorial (so wie das auf Fischer-Bayer.de für AppleScript)?

Zum Einstieg ist sicher der AppleScript Studio Programming Guide (http://developer.apple.com/documentation/AppleScript/Conceptual/StudioBuildingApps/index.html) geeignet. Dann gibt's im Ordner 'Developer', der bei der Installation der Developrt Tools auf deiner Festplatte angelegt wird, auch einen Ordner mit 'Examples' - dort schaust du im Ordner 'AppleScript Studio'. Da gibt es eine ganze Menge Anschauungsmaterial. Foren zum Stöbern sind neben dem bayerischen Fischer (der hat doch auch eine Abteilung für AppleScript Studio, wenn ich mich nicht irre) - das Forum bei MacScripter: (http://bbs.applescript.net/viewforum.php?id=3).
Lohnenswert ist auch das Abbonement (und Archiv) der Apple'schen Mailing Liste zum AppleScript-studio (http://lists.apple.com)

Grüße,

D.
 

JohannesDörnte

Gast
Vielen Dank - ich war ein paar Tage verreist und konnte nichts probieren. Jetzt funktioniert es. Ein Tipp für andere, die gleiches versuchen: Einen Wert, der in einer Variablen gespeichert ist, speichert man folgendermaßen (es wird ein string gespeichert)

do shell script ("defaults write \"nameDesKeys\" " & wertInVariable)


Johannes
 
Zuletzt bearbeitet von einem Moderator: