Рубрика «разработка под iOS» - 209

Всем привет! В этот раз я хочу рассказать, как я реализовывал альтернативу iBooks. В своем предыдущем посте я писал об алгоритме расстановки мягких переносов в тексте. Он как раз и пригодился при создании своей читалки, оценить его работу можно наглядно в приложении. Но помимо этого, при реализации проекта мне пришлось столкнуться с многими другими интересными вещами, такими как парсинг и рендеринг HTML с CSS, реализация элементов управления с кастомным дизайном и т.п. Наш дизайнер rashapasta очень любит подкинуть мне задачек с эдаким нестандартным интерфейсом, который нужно реализовывать ручками, но обо всем по порядку.
Читать полностью »

Семейство языков Си/Objective C/C++ нуждается в препроцессоре. Препроцессор пропускает компилируемый исходник через себя, прежде чем отдать текст на вход компилятору. Пожалуй самая важная часть работы препроцессора заключается в подстановке на место директив #include<имя-файла> содержимого указанного файла. Обычно указывают относительный путь (ex: stdio.h, sys/stat.h). Возникает закономерный вопрос — как препроцессор находит заголовочные файлы?

Классический ответ такой: препроцессор последовательно перебирает пути в INCLUDE_PATH начиная с первого. Относительный путь из директивы include разрешается относительно (sic) папки из INCLUDE_PATH. Если файл не найден, переходим к следующему элементу INCLUDE_PATH. Если INCLUDE_PATH исчерпан, компилятор сообщает об ошибке.

Но Apple как всегда вносит свои коррективы. При сборке в XCode дополнительно используются т.н. header map. Это индекс всех заголовочных файлов в проекте. Если XCode «знает» про foobar.h, то данный файл будет доступен просто по имени (#include<foobar.h>), вне зависимости от фактического размещения на файловой системе.

Это прекрасное решение — до тех пор, пока оно работает как задумано. К сожалению, механизм header map плохо документирован, что не способствует быстрому разрешению проблем. Постараюсь восполнить этот пробел.

Читать полностью »

День добрый.

Недавно довелось побывать на One More Thing Conference 2012. Я какое-то время думал, писать об этом или нет. В конце-концов решил рассказать что это за событие и что познавательного я там узнал. Если вам интересна тема разработки для iOS и истории с этим сзвязанные, то добро пожаловать под кат.
Читать полностью »

Разработчик Dropzone заработал 8000$ за день, сбросив цену с 14$ до 2$

Всем известно, что людям свойственно покупать совершенно не нужные или не интересные им вещи в периоды скидок. Такой эффект испытал на себе разработчик приложения Dropzone для Mac OS X. Обычная цена на его приложение составляла 14$, но он решил поучаствовать в акции Two Dollar Tuesday и сбросил цену до 2$.

Статистика загрузок и немного текста под катом.
Читать полностью »

Одна из главных особенностей App Store — он пробуждает в дизайнерах креативное мышление. Кажется, будто каждую неделю появляются отличные идеи для интерфейсов, что очень радует все коммьюнити.

Один из подразделов мобильного дизайна — дизайн иконки в App Store. Он, похоже, превратился в отдельную форму искусства. Очень талантливые художники находят все более и более интересные способы, чтобы продемонстрировать приложение в небольшом пространстве.

От переводчика: примеры красивых иконок и еще немного текста под катом.Читать полностью »

В этой статье я хочу рассказать о тестировании iOS приложений и небольшой автоматизации этого процесса.
Под катом будут рассмотрены инструменты для модульного и функционального тестирования и приведены простые примеры.
Читать полностью »

Оптимизируем работу SQLite с NSCalendar Оптимизируем работу SQLite с NSCalendar

В предыдущей статье мы решили проблему некорректного использования SQLite week based calendar, написав свое расширение для этой СУБД.

Наш расчет сошелся, однако скорость его работы оставляла желать лучшего. Обработка таблицы, содержащей всего лишь 2500 записей занимала около 6 секунд. В то время как запросы, использующие strftime() исполнялись за десятые доли секунды.
Читать полностью »

Привет всем!

Буквально полчаса назад вышла утилита для непривязанного jailbreak iOS 5.1.1.
image
Читать полностью »

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

Ну, во-первых, не секрет, что яблочный рынок сейчас развивается в геометрической прогрессии, растет не только количество приложений, но и конкуренция, становится больше тематических сайтов, владельцев девайсов, обсуждается каждая мелочь, связанная выходом нового продукта, миллион различных слухов и т.д. На фоне всех этих событий многие разработчики плавно перетекают в разработку iOS приложений, начинают осваивать Objective C и все сопутствующие необходимые для разработки компоненты. Я недавно общался с несколькими компаниями, которые из веб-разработки почти полностью перешли на разработку заказных приложений под мобильные платформы. Наша компания не исключение. Мы, как и многие, начинали свою деятельность в далеком 2001 году с веб-разработки, а теперь на нас как волной нахлынула мобильная деятельность. Причин несколько, но основная это все-таки перспектива развития.Читать полностью »

Учим  SQLite работать с локализированным календарем

Учим SQLite работать с локализированным календарем Учим SQLite работать с локализированным календарем

Недавно мне довелось портировать (точнее, переписывать) под iOS приложение для анализа посещаемости сайта. Поскольку данные подходили под реляционную модель, мы решили использовать SQLite. Насколько я знаю, других реляционных СУБД под iOS просто нет.

Долго ли, коротко ли… Пришло время подсчитать понедельный КПД для определенного диапазона дат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js