iCal больше не запускает сценарии?

12

У меня есть некоторые автоматизированные задачи в форме AppleScripts, которые я планирую запускать в одночасье через событие iCal. Событие будет просто установлено на «запуск сценария» на «0 минут до события», и я выберу различные сценарии для запуска.

Однако после обновления до Mountain Lion «запустить скрипт» теперь просто «открыть файл», а сценарии не запускаются, они просто открываются в редакторе AppleScript.

Я попытался скомпилировать скрипты в приложения, чтобы посмотреть, смогу ли я выбрать те, которые будут открыты вместо этого, но они недоступны для выбора из события (они выделены серым цветом).

  1. Как я могу заставить Календарь запускать мои скрипты?
  2. И наоборот, есть ли лучший способ запланировать запуск сценариев?
Дэвид
источник

Ответы:

10

Я написал ответ на вопрос о планировании работы, который может решить некоторые из них для вас. Это было в основном на один раз, хотя по сравнению с продолжающимся.

Если у вас есть постоянная работа, подобная той, которую вы запланировали бы через iCal, она также launchdбудет работать хорошо.

Но если вам нужна прямая замена чему-то похожему на то, что вы делали с iCal / Calendar, это звучит так, как объясняется в этой замечательной рецензии на доске обсуждений Apple, с помощью «Календарного будильника » в Automator . Один пользователь даже сказал, что этот новый способ еще проще в использовании. Я лично думаю, что с дополнительной мощностью Automator, это также добавляет новые возможности.

С этого сайта:

Вот решение, которое работает для меня:

  1. В Automator создайте календарь-будильник
  2. Выберите Утилиты на панели библиотеки
  3. Выберите и перетащите Запустить AppleScript в область рабочего процесса.
  4. Скопируйте / вставьте AppleScript в поле «Выполнить AppleScript»
  5. Сохранить вновь созданный календарь будильник
  6. Откройте Calendar.app, создайте новое событие
  7. Выберите календарь Automator в качестве справочного календаря
  8. Выберите «Открыть файл» для предупреждения и выберите файл, созданный в Automator. По умолчанию iCal - это файл, который появляется при выборе «Открыть файл».
  9. Измените это на имя приложения Automator, которое вы создали.
  10. Выберите Другое, если имя файла не отображается.

введите описание изображения здесь

Пользователь также прикрепил несколько скриншотов к своему сообщению, но я включил скриншот того, что нужно выбрать в Automator.

jmlumpkin
источник
1
Это выглядит великолепно! Он будет проверен с моими заданиями сегодня вечером, но, похоже, он будет работать великолепно. Одна интересная заметка об описанных шагах, похоже, что есть обновление для них (возможно, новичок в Mountain Lion, я не знаю). При сохранении «файла» в Automator не было возможности фактически сохранить его как файл где-нибудь. (Безусловно, Apple пытается отойти от файловой системы.) Она просто сохраняет имя и все. И как только он сохранится, Календарь будет сфокусирован с автоматически созданным событием. Мне просто нужно было отрегулировать время и установить повторение события.
Дэвид
4

Похоже, что Apple не перенесла функцию «Выполнить скрипт» из iCal в Календарь в Mac OS X 10.8, она же Mountain Lion.

Вы можете запланировать запуск приложений в Mac OS X несколькими способами.

Встроенные инструменты планирования

Предпочтительным встроенным методом планирования является использование launchd (запуск демона). Для использования launchdвы создаете запущенные заявки на работу и помещаете их в свою ~/Library/LaunchAgents/папку.

cronдоступно в Mac OS X, но больше не рекомендуется. Однако есть много графиков, которые могут быть представлены, cronа не представлены launchd.

Начальная документация Apple - хорошее место для начала.

Сторонние инструменты планирования

Если вам нужен графический интерфейс или дополнительные функции, доступны сторонние приложения. Моя компания разрабатывает Power Manager ; существуют и другие решения.

Грэм Милн
источник
Вы можете представить cron-подобные расписания с помощью launchd, просто добавив достаточное количество словарей StartCalendarInterval .
Lri
1
язык планирования cron невероятный и чрезвычайно мощный. К сожалению, то, что обеспечивает одинаковую мощность, трудно точно предсказать, не перечисляя и не проверяя каждую минуту. Это одна из причин, по которой cron больше не рекомендуется, он требует опроса; launchd может планировать задачи без необходимости опроса.
Грэм Милн
0

Ответ jmlumpkin точен, но вы можете сделать его еще проще для себя. Как я описал в сообщении в блоге , вам не нужно копировать и вставлять скрипт в новый рабочий процесс, который вы создаете. Вместо этого вы можете вызвать оригинальный AppleScript из рабочего процесса:

on run {input, parameters}

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

end run
Дов
источник