• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

[AppleScript] Ausschalten des Rechners per iPhone über iTunes

mabam

Golden Delicious
Registriert
06.06.14
Beiträge
10
Ich verwende einen alten iMac mit OS X 10.3.9 und iTunes 7.7.1, um darauf Musik und Hörspiele für meinen Sohn abzuspielen. Gesteuert wird das per Remote App vom iPhone.

Nun möchte ich den Rechner per iPhone ausschalten können. Dazu habe ich mithilfe von Google einen AppleScript erstellt, der iTunes überwacht und beim Abspielen eines Titels namens "Ausschalten" den Computer runterfährt. Das hat einmalig funktioniert, dann aber nicht mehr. Hat jemand eine Idee, woran das liegen könnte? Hier der Skript:

set track_name to "none"
repeat

try
tell application "iTunes" to set track_name to the name of the current track​
end try
if track_name is "Ausschalten" then

tell application "System Events"
shut down
exit repeat
​
end tell​
end if
delay 10
​
end repeat

Unabhängig voneinander funktionieren die folgenden Skriptteile problemlos:

set track_name to "none"
try

tell application "iTunes" to set track_name to the name of the current track​
end try

bzw.

tell application "System Events"
shut down​
end tell
 
Problem gelöst. Den "shut down"-Teil habe ich hinter das repeat verschoben. Jetzt funktioniert's.

set track_name to "none"
repeat

try
tell application "iTunes" to set track_name to the name of the current track​
end try
if track_name is "Ausschalten" then

exit repeat​
end if
delay 10
​
end repeat
tell application "System Events"

shut down​
end tell
 
Bei neuen Versionen von OS X werden die laufenden Programme nicht automatisch beendet, bevor der Rechner runtergefahren wird. Möchte man das Beenden der Programme im Script integrieren, sieht er folgendermaßen aus:

set track_name to "none"
repeat

try
tell application "iTunes" to set track_name to the name of the current track​
end try
if track_name is "Ausschalten" then

exit repeat​
end if
delay 10
​
end repeat
tell application "System Events"

set ProcNm_ to name of every application process whose visible is true
repeat with i_ from 1 to count items of ProcNm_

set TarProc_ to item i_ of ProcNm_
try

tell application TarProc_ to quit​
end try​
end repeat
shut down
​
end tell