uBooks — читалка книг для iPhone

Я не ошибусь, если скажу, что у большинства пользователей мобильных гаджетов (телефон/смартфон/кпк) есть приложение для чтения книг, не обделены ими и пользователи iPhone, и вот сегодня я хотел поделиться с читателями Хабра небольшой историей о разработке приложения uBooks — надеюсь, оно займет должное место среди ваших приложений.
Создание приложения
Работа над приложением началась давно – это наш самый первый большой проект под iphone-os. Было сделано много исследований, т.к. язык Objective-C был в новинку нашим девелоперам, которые переходили на него с других языков (С, С++ и др.). Поэтому, к сожалению, времени на создание приложения ушло очень много.
Но, по порядку. Самое большое и емкое – было создать экран чтения книги с элементами управления на нем. Сама технология перелистывания, которая должна была включать и различные варианты тап-зон, и возможность автопрокрутки текста – оказались очень трудоемкими. Кстати, об автопрокрутке – полностью плавной прокрутки на малой скорости добиться невозможно – попиксельная перепрорисовка текста все равно дает некую скачкообразность, поэтому минимальная скорость автопрокрутки нами была увеличена. Автоповорот экрана был также принудительно отключен – акселерометр у iphone очень чувствительный, и при чуть большем наклоне экрана происходил поворот текста, а это неудобно (особенно некомфортно, когда читаешь лежа – а текст вдруг начинает поворачиваться).
Конечно, повозиться пришлось и с экранами настроек – очень много элементов нужно было красиво разместить:




Вначале был разработан метод заливки книг в приложение через файловую систему iphone, т.е. с использованием сторонних браузеров. Но мы решили перестраховаться, и не дразнить цензоров apple этим фактом, чтобы не доказывать потом, что эти браузеры есть в appstore (тот же fileaid со ссылкой на diskaid). И тогда мы создали возможность заливки книг через wi-fi соединение, причем по двум протоколам: http и ftp. (Честно говоря, возможность подгружать книги через файловую систему осталась – достаточно перейти по такому пути — /var/mobile/Media/DCIM/uBooksLib :) ) В ближайшее время мы дополним варианты заливки, без использования wi-fi соединения.
Также в ближайшее время мы расширим поддерживаемые форматы книг – к существующим .fb2 и .txt добавится html, и потом будет что-то еще.
Итого, разработка и тестирование первой версии uBooks заняла несколько месяцев…
Возможно кому-то будет интересно узнать, что в нашем приложении мы использовали следующие библиотеки:
- FTP(DiddyFtpServer) – для организации FTP сервера
- Cocoahttpserver – HTTP сервер
- FMDatabase – обертка над SQLite.
Штурм AppStore
На этапе утверждения в apple тамошние цензоры не обошлись без неприятного сюрприза для нас – вначале наше приложение было отвергнуто. Причина reject-а заключалась в том, что мы использовали несанкционированные типы анимации при перелистывании страниц – наши девелоперы решили сделать приятное пользователям и добавили к трем общедоступным анимациям еще 3, взятые из приватных фреймворков apple. Правда, к чести самих цензоров, должен сказать, что это рассмотрение не заняло 2 недели и более, а всего 9 дней (в другом нашем проекте цензоры рассматривали приложение 21 день, прежде чем указали, что в нем не так). Конечно, мы быстро удалили неподобающие элементы и перезалили бинарник. Еще через 10 дней наше приложение было доступно в appstore!
Лично я могу сделать вывод, что к теме читалок у apple более пристальное внимание, чем к ряду других (другое наше приложение – в теме travel), либо просто нам повезло и uBooks попал в руки более быстрого работника/работников apple.
Результат
Теперь любой из Вас может бесплатно (пока что) скачать наше приложение uBooks:
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=331005526&mt=8
Если у Вас будут какие-то пожелания и предложения – мы с удовольствием их рассмотрим ;)
P.S. В действительности, я сомневался к какому топику больше подходит данная статья, так что не судите строго, если усмотрели в статье слишком много саморекламы

комментарии (79)