Skip to content

mxpaul/osx-project-2

 
 

Repository files navigation

Проект 4.

Бинарный файл приложения доступен в архиве проекта. Файл можно найти руками (см. ниже о сложностях при запуске через finder) или запустить через терминал, используя приведенные ниже команжды.

Запуск через терминал

Полный путь можно узнать запустив в терминале из корня репозитория (результат работы git clone) слудующую команду:

find . -name SimpleTimer -type f -perm 755

У меня получается результат вида ./SimpleTimer 07.02.13 15.08.xcarchive/Products/Applications/SimpleTimer.app/Contents/MacOS/SimpleTimer, однако на момент проверки версия архива может измениться, и путь, воответственно, тоже. На случай если при копировании из git права доступа сбрасываются, можно воспользоваться командой:

find . -name SimpleTimer -type f | grep MacOS | xargs -I% chmod 755 "%"

После этого можно запустить приложение заменив в следующей команде знак процента на полный путь к исполняемому файлу:

./"%"

Или, при условии что вывод первой команды состоит из одной строки, их можно объединить:

./"$(find . -name SimpleTimer -type f -perm 755)"

Вся соль тут в необходимости экранировать пробелы в имени каталога с архивом, иначе запуск из bash был бы проще.

Запуск через Finder

Сложность запуска через finder может возникнуть из-за того что finder пытается открыть архив через XCode, а чтобы этого избежать, надо на папке с архивом нажать правую кнопку мыши и выбрать пункт "показать содержимое пакета", после чего уже без проблем зайти глубже и запустить приложение обычным кликом.

Проект 2. Идея и интерфейс приложения (SimpleTimer)

Проблема

Иногда нужен просто таймер. Вы не хотите ставить будильник или создавать событие в органайзере. Вы просто хотите выделить определенное время на конкретное занятие, которое нельзя выполнить за один раз. Например, вы хотите прочитать книгу. И говорите себе - я постоянно занят, но буду выделять десять минут в день на чтение этой книги. Можно просто засечь время по часам, но тогда придется постоянно на них поглядывать. Иначе вы рискуете провести за чтением двадцать минут, а то и час. Есть много увлекательных дел. И выбор всегда один. Или увлечься (и потерять счет времени) или постоянно смотреть на часы. В последнем случае вы отвлекаетесь. Концентрация уже не на деле. Концентрация на часах. Вы читаете, но не можете сосредоточиться на чтении. Вместо этого вы думаете: ну, сколько еще у меня времени? А сейчас? А теперь? Ваша производительность снижается. Вы теряете время впустую. А нет более важного актива, чем время. Так что же делать?

Простейшее решение проблемы - использовать таймер. Таймеры есть в стандартной конфигурации большинства мобильных устройств. Но их нет в стационарных компьютерах. Что делать, если вы выделили час на чтение форума? Или десять минут на наведение порядка в своих файлах? Воспользоваться телефоном? Есть решение проще: установите таймер на своем компьютере и используйте его. Ну нужно сложных функций. Море будильников ни к чему. Вам не нужно выбирать мелодию, которая прозвучит в конце. Все что вам нужно это выставить время и закрыть окно. В нужное время вы хотите получить сигнал. Если дело сделано раньше чем кончилось время, вы хотите отключить таймер. Точка. И это именно то, что дает вам использование SimpleTimer.

Аудитория приложения

Люди, уделяющие внимание планированию своего времени. Люди, использующие тайм-менеджмент для повышения производительности своего труда. И речь не только о работе. Особенно ценным становится время, когда вы работаете на себя. В этом случае время действительно превращается в деньги. А упущенное время - в потерянные деньги. Данное приложение будет особенно полезно тем людям, которые не хотят терять свои деньги.

Пример сценария использования приложения

Несколько примеров приведены в описании проблемы. Вот еще один: фрирайтинг. Вы хотите написать статью для продвижения сайта. Это должна быть уникальная статья, написанная лично вами. Но вы не разбираетесь в предметной области. Общая последовательность действий при этом такова:

  • Сбор информации (чтение сайтов, поиск в гугле, и т.д.) - 10 минут
  • Фрирайтинг (вы пишете без остановки любые мысли по теме статьи. Если мысли кончились, вы пишете "у меня кончились мысли бла бла бла ". Главное не останавливаться, и мысли будут) - еще 10 минут
  • Редактирование - вы расставляете знаки препинания, корректируете ошибки, выкидываете мусор об отсутствии мыслей. Получается уникальная статья.

На всех этапах вы используете компьютер для своей работы. И вам понадобится таймер, чтобы не отвлекаться на подсчет времени. SimpleTimer поможет в такой работе. А работа эта ежедневная, и включает несколько циклов.

Описание поведения

В момент запуска приложения пользователь видит окно с двумя цифрами: часы и минуты. Ниже расположены три кнопки: выбрать интервал, произвольный интервал, сброс. Часы и минуты изначально нулевые.

При нажатии на кнопку "выбрать интервал" открывается отдельное окно, в нем несколько кнопок с различными интервалами: 5 минут, 10 минут, 15 минут, 20 минут, 30 минут, 1 час, 2 часа, 3 часа, 4 часа. При нажатии на любую из кнопок таймер устанавливается на соответствующий интервал, начинается обратный отсчет в основном окне, а окно выбора сразу закрывается.

При нажатии на кнопку "произвольный интервал" открывается новое окно, в нем два поля для ввода цифр (часов и минут) и две кнопки: ОК и Отменить. Закрытие окна или нажатие на кнопку "отменить" отменяет операцию (окно просто закрывается). При нажатии на кнопку ОК таймер устанавливается на указаное пользователем время, окно выбора закрывается, начинается обратный отсчет. Если введено нулевое время, пользователь получает предупреждение и должен либо ввести корректные данные, либо закрыть окно.

При нажатии кнопки "сброс" отсчет останавливается, время на таймере сбрасывается в ноль.

Возможно добавление кнопки "пауза", поочередные нажатия на которую приостанавливают и снова запускают отсчет.

После запуска таймера цифры в основном окне начинают ежесекундно изменяться, отражая оставшееся до срабатывания время.

В момент срабатывания воспроизводится простой звуковой сигнал (будет выбран на этапе реализации)

About

OS X Development Course, Project 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 100.0%