Я пишу приложение в строке меню, мне нужно запускать метод каждый день в течение certian времени. Я бы хотел, чтобы он работал, даже если пользователь не вошел в систему. Я знаю, что мне нужно создать вспомогательный инструмент, регистрирующий его с помощью запуска. Есть ли хороший учебник по этому вопросу? Я не новичок в программировании, но я новичок в использовании вспомогательных инструментов и запущен. Я занимаюсь чтением и сталкивался с SMJob, и я знаю, что могу использовать его, чтобы создавать вспомогательные инструменты, а не как их использовать. Мне просто нужно какое-то направление.Метод запуска каждый день в определенное время
ответ
Взгляните на Daemons and Services Programming Guide
Решение состоит в создании некоторые утилиты командной строки, сделайте файл запуск программ Plist в/Library/каталог LaunchDaemons (обратите внимание, что она должна принадлежать корень: колеса и иметь режим 0644) и нагрузки задание с помощью команды sudo launchctl load -w /Library/LaunchDaemons/your.plist
(флаг -w заставляет вашу работу запускаться при каждой загрузке).
Для выполнения задания периодически задайте ключ StartInterval или StartCalendarInterval в вашем plist (см. «Создание демонов запуска и агентов» -> «Создание файла списка свойств запуска» -> «Выполнение задания периодически» в руководстве для примера »)
Может ли утилита командной строки запускать метод в моем существующем приложении ? – Jonathan
нет, но он может просто выполнить эту работу, например rea ding инструкций из некоторого файла. – cody
Мое приложение должно также работать на Snow Leopard, так что SMJobBless будет лучше? – Jonathan
Посмотрите здесь: http://stackoverflow.com/questions/3057192/how-to-schedule-method-call-in-objective-c – Marco
@Marco Я не хочу иметь счетчик.Я не думаю, что это было бы очень дружественным к памяти, чтобы иметь счетчик все время. Также пользователю нужно будет войти в систему, чтобы это работало. – Jonathan