iCal już nie uruchamia skryptów?

12

Mam kilka zautomatyzowanych zadań w postaci AppleScripts, które zaplanowałem na noc z wykorzystaniem wydarzenia iCal. Zdarzenie byłoby po prostu ustawione na „uruchamianie skryptu” na „0 minut przed wydarzeniem” i wybrałbym różne skrypty do uruchomienia.

Jednak od czasu uaktualnienia do Mountain Lion „uruchom skrypt” jest teraz po prostu „otwartym plikiem”, a skrypty nie działają, po prostu otwierają się w AppleScript Editor.

Próbowałem skompilować skrypty w aplikacjach, aby sprawdzić, czy mogę wybrać te, które zostaną otwarte, ale nie można ich wybrać ze zdarzenia (są wyszarzone).

  1. Jak mogę uruchomić Kalendarz do uruchamiania moich skryptów?
  2. I odwrotnie, czy istnieje lepszy sposób na zaplanowanie uruchamiania skryptów?
David
źródło

Odpowiedzi:

10

Napisałem odpowiedź na pytanie dotyczące planowania zadań, które mogą rozwiązać kilka problemów dla Ciebie. Było to przeważnie jednorazowe w porównaniu do trwających.

Jeśli masz stałą pracę, taką jak ta, którą zaplanowałbyś za pośrednictwem iCal, również launchdbędzie działać dobrze.

Ale jeśli chcesz wprost zastąpić coś podobnego do tego, co zrobiłeś z iCal / Calendar, brzmi to tak, jakby ten świetny opis na tablicy dyskusyjnej Apple wyjaśnia za pomocą „Alarmu kalendarza” Automatora . Jeden użytkownik powiedział nawet, że ten nowy sposób jest jeszcze łatwiejszy w użyciu. Osobiście uważam, że dzięki dodatkowej mocy Automatora dodaje on również nową moc.

Z tej strony:

Oto rozwiązanie, które działa dla mnie:

  1. W programie Automator utwórz alarm kalendarza
  2. Wybierz Narzędzia z panelu biblioteki
  3. Wybierz i przeciągnij Uruchom AppleScript do obszaru przepływu pracy
  4. Skopiuj / wklej AppleScript do pola Uruchom AppleScript
  5. Zapisz nowo utworzony Alarm kalendarza
  6. Otwórz Calendar.app, utwórz nowe wydarzenie
  7. Wybierz kalendarz Automator jako kalendarz referencyjny
  8. Wybierz opcję Otwórz plik dla alertu i wybierz plik utworzony w programie Automator. Domyślnie iCal to plik, który pojawia się po wybraniu opcji Otwórz plik.
  9. Zmień to na nazwę utworzonej aplikacji Automator.
  10. Wybierz Inne, jeśli nazwa pliku nie jest wyświetlana.

wprowadź opis zdjęcia tutaj

Użytkownik również załączył zrzuty ekranu do swojego postu, ale zamieściłem zrzut ekranu z tym, co należy wybrać w Automatorze.

jmlumpkin
źródło
1
To wygląda świetnie! Dziś wieczorem zostanie przetestowany z moimi zadaniami, ale wygląda na to, że będzie działał doskonale. Jedna ciekawa uwaga na temat opisanych kroków, wygląda na to, że jest w nich aktualizacja (być może nowa w Mountain Lion, nie wiem). Podczas zapisywania „pliku” w Automatorze nie było możliwości zapisania go gdzieś jako pliku. (Apple dąży do odejścia od systemu plików, bez wątpienia.) Po prostu zapisuje się z nazwą i to wszystko. Po zapisaniu Kalendarz staje się aktywny, a wydarzenie jest tworzone automatycznie. Musiałem tylko ustawić czas i powtórzyć to wydarzenie.
David
4

Wygląda na to, że Apple nie przeniosło funkcji „Run Script” z iCal do Calendar w Mac OS X 10.8, czyli Mountain Lion.

Można zaplanować uruchamianie aplikacji w systemie Mac OS X na wiele sposobów.

Wbudowane narzędzia do planowania

Preferowaną wbudowaną metodą planowania jest użycie launchd (demona uruchamiania). Aby z niego skorzystać launchd, utwórz uruchomione bilety i umieść je w swoim ~/Library/LaunchAgents/folderze.

cronjest dostępny w systemie Mac OS X, ale nie jest już zalecany. Istnieje jednak wiele harmonogramów, które mogą być reprezentowane przez, crona nie przez launchd.

Udostępniona dokumentacja Apple to dobry początek.

Narzędzia do planowania innych firm

Jeśli potrzebujesz interfejsu graficznego lub większej funkcjonalności, dostępne są aplikacje innych firm. Moja firma opracowuje Power Managera ; istnieją również inne rozwiązania.

Graham Miln
źródło
Możesz reprezentować harmonogramy podobne do crona z uruchomionym, po prostu dodając wystarczającą liczbę słowników StartCalendarInterval .
Lri
1
Język planowania crona jest niesamowity i niezwykle wydajny. Niestety to, co zapewnia tę samą moc, jest trudne do dokładnego przewidzenia bez wyliczania i testowania każdej minuty. Jest to jeden z powodów, dla których cron nie jest już zalecany, wymaga odpytywania; uruchomiona może planować zadania bez potrzeby odpytywania.
Graham Miln,
0

Odpowiedź jmlumpkina jest natychmiastowa, ale możesz sobie ułatwić. Jak opisałem w poście na blogu , nie musisz kopiować i wklejać skryptu do nowego przepływu pracy, który tworzysz. Zamiast tego możesz wywołać oryginalny AppleScript z poziomu przepływu pracy:

on run {input, parameters}

    run script file "Macintosh HD:Some Directory On Disk:a cool script.applescript"

end run
Dow
źródło