Здесь есть две части.
Во-первых, запуск приложения один раз в день. Я написал это в Bash на Linux, кто-то должен был проверить это. Кредит, где кредит должен быть, я потянул часть этого ответа для вызова сафари в bash
Как всегда, вам нужно настроить скрипт bash в соответствии с вашими потребностями, и это, вероятно, должно быть настроено для жесткого кодирования полного пути или запуска в определенной папке для аккуратности. Как и сценарий Это минимальный, работоспособный пример, хотя. Я подозреваю, что конкретный синтаксис команды open может потребовать доработки, и вы можете захотеть полностью жестко закодировать путь файлов блокировок, чтобы быть полностью безопасными.
!/bin/bash
daydate=x`date +%j`
if [ -f $daydate.lockfile ];
then
echo "task already run"
else
rm *.lockfile; open -a safari http://www.example.com ;touch $daydate.lockfile
fi
По-английски - он использует команду date и создает переменную среды с текущим днем года с префиксом x. При первом запуске он не найдет нужный файл, попытается очистить файл блокировки (и потерпит неудачу, поскольку его там нет), откроет safari и создаст файл с именем x ddd
.lockfile. Таким образом, если вы не выполните это ровно через год, это должно сработать.
При каждом другом запуске он будет проверять файл блокировки с текущим днем года. Если он существует, он будет отображать "задача уже запущена" (вы можете настроить это, чтобы ничего не делать, я полагаю). Иначе, он очистит предыдущие файлы блокировки, откроет safari для example.com и создаст файл блокировки. В теории вы могли бы иметь более уникальный идентификатор, чем номер дня (дата и год?) но это работает достаточно хорошо.
Затем вы захотите запустить это при входе в систему. Я еще не проверял этот бит, и я подозреваю, что есть более элегантный способ сделать это.
Этот SO-ответ предлагает несколько способов запуска этого bash-файла при входе в систему. Самый простой способ, который я вижу, это использование automator - позаимствовано из ответа mklement0.
- Файл> Новый, тип приложения
- Добавьте действие Run Shell Script, которое добавляет встроенный сценарий bash, и либо вставьте туда свой код сценария, либо добавьте команду, которая вызывает существующий сценарий оттуда.
- Сохраните пакет * .app и добавьте его в список элементов входа в Системные настройки> Пользователь и группы> Элементы входа.
Добавьте сюда скрипт bash, и он должен проверять каждый раз, когда вы входите в систему, и делать свое дело.