Сначала немного фона;для версии tl; dr перейдите к «проблеме» ниже.
Справочная информация
Это действительно больше вопрос интерфейса пользователя, чем технический, но я думаю, что он подходит здесь лучше, чем насайт пользовательского интерфейса в любом случае.
Так как приложения для iOS (iPhone OS) 4.0 могут работать в фоновом режиме, и фактически всегда делают это вместо выхода.Для выхода из приложения необходимо нажать кнопку «Домой», нажать ее еще раз, удерживая палец на значке приложения до тех пор, пока он не начнет дрожать, коснуться индикатора «Закрыть» и снова нажать кнопку «Домой».Не очень интуитивно понятен.
Причина этого, конечно, в том, что обычно пользователю не нужно заботиться о выходе приложения или его приостановке, потому что это не имеет значения.Но для некоторых приложений это так.
Проблема
У меня есть приложение, которое регистрирует изменения местоположения;подумайте «RunKeeper», если это знакомо.Пользователь запускает приложение, выбирает начать запись (в файл) или просто использует его для просмотра расстояния, скорости и т. Д. Когда пользователь закончил (или хочет сделать что-то еще), он нажимает кнопку «Домой».Приложение исчезает.Теперь происходит одно из следующих событий:
- Приложение закрывается, закрывая все текущие записи (iPhoneOS 3.1.3 и ниже).
- Приложение продолжает работать в фоновом режиме, используя GPSи разрядка аккумулятора (iOS 4).Это подходит, если пользователь, например, хотел переключиться на приложение iPod, чтобы изменить свою звуковую дорожку.
- Приложение продолжает работать в фоновом режиме, используя GPS и разряжая батарею (iOS 4).Это совершенно неуместно, если пользователь закончил и хотел выйти из приложения.
Конечно, приложение не может увидеть разницу между случаями три и четыре.Быстрый просмотр форумов RunKeeper показывает, что многие пользователи не имеют ни малейшего представления о том, что происходит, и они всерьез смущаются этим.view?
- Когда нажата домашняя кнопка, перейдите в фоновый режим, как действие по умолчанию.Это проблема пользователя - фактически убить приложение, если оно сделано.Ошибка платформы в том, что это неочевидно и немного утомительно.
- Когда нажата кнопка «Домой» и идет запись, продолжайте в фоновом режиме.Если мы не выполняем запись, закройте приложение.
- Представьте где-нибудь в приложении виджет-переключатель, который позволяет пользователю выбирать, что происходит при нажатии кнопки «Домой».(Это может пойти вразрез с HIG; я не уверен)
- ...?
Что вы думаете?