Как стать автором
Поиск
Написать публикацию
Обновить
36.98

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Очистка кэша в iOS 5

Время на прочтение5 мин
Количество просмотров12K


У каждого приложения iOS есть рабочая папка для хранения файлов. Все элементы оттуда, кроме содержимого Caches и tmp, синхронизируются с бэкапом во время соединения с iTunes.

До выхода iOS 5, система никогда не удаляла содержимое Caches и tmp, они были единственным безопасным местом для хранения данных, которые всегда должны быть доступны и в то же время которые можно повторно скачать в случае потери. Таким образом, эти данные не занимали место в бэкапах и не замедляли синхронизацию.
Читать дальше →

Использование ActiveRecord для работы с Core Data

Время на прочтение4 мин
Количество просмотров6.5K
Введение


Active Record — это паттерн проектирования приложений, использующих для хранения информации базу данных. Таблица базы данных отображается в виде класса приложения, а отображением объекта класса является строка таблицы.
Читать дальше →

Automatic Reference Counting: часть 1

Время на прочтение7 мин
Количество просмотров32K
Здравствуйте, коллеги.

Давно читаю блоги и статьи зарубежных разработчиков под iOS. И на днях попалась любопытная, довольно подробная статья об Automatic Reference Counting от разработчика по имени Mike Ash.
Статья довольно большая, потому перевод, сделанный мною, рискну разбить на несколько частей. Надеюсь, что уложусь в 2 части.
Часть первая

Наиболее эффективные методы раскрутки iPad и iPhone приложений на Apple AppStore (Часть 2)

Время на прочтение4 мин
Количество просмотров17K
В предыдущей статье, написанной около 2-х месяцев назад мною были описаны некоторые маркетинговые и рекламные методы раскрутки приложений в AppStore, я также обещал написать, как долго наше приложение находилось в ТОП-10 российского апстора, а также какие дополнительные методы раскрутки были применены, итак все по порядку.
Читать дальше →

Исследование: 20% разработчиков игр для App Store получают 97% всех денег

Время на прочтение7 мин
Количество просмотров13K


19 сентября я запустил опрос среди разработчиков игр для iOS с целью получить статистику по доходам как можно большего числа из них. Стояла задача сформировать реалистичную картину сегодняшнего состояния рынка и поделится этой информацией с сообществом. Меня к этому подвигло обилие статей, описывающих ситуацию в крайностях: “Разработчик сколотил миллионы на iOS играх!” или же “Игра заработала $0 в App Store”.

С мыслью получить объективное состояние дел, 19 сентября 2011 года я запустил семидневный опрос, в котором приняло участие 252 разработчика.
Читать дальше →

Жизненный цикл UIViewController'a

Время на прочтение10 мин
Количество просмотров157K
Большинство прикладных приложения под iOS таким или иным образом используют UIViewController'ы. Там где UIKit фрэймворк — там и UIViewController'ы. Их много, они повсюду, они сидят в засадах и выглядывают из-за каждого угла. Поэтому, любой программист под iOS — будь он зеленым новичком, едва ступившим на тропу программирования, либо матерым профессионалом своего дела, должны знать о UIViewController'aх все.

Причиной написания данной поста является то, что, как оказалось, можно преспокойно программировать под iOS полгода, и не знать полностью о жизненном цикле UIViewcontroller'ов. И на небольших проектах это даже получается. Однако, когда приходится иметь дело с серьезным, достаточно большим проектом, то появляются определенные проблемы с нехваткой памяти, «неправильной» и «непонятной» работой контроллеров, пропажей данных, и еще со многими типичными проблемами, о которых будет написано ниже.

Так вот. В данном посте, я еще раз расскажу о жизненном цикле UIViewController'ов, расскажу о том, что и где стоит делать, и в каком случае. Пост ориентирован на разработчиков разных уровней, так что кто-то узнает для себя что-то новое, а кто-то найдет повод отпинать моменты, на которые стоит обратить внимание Junior'ов в команде.

Всех заинтересовавшихся, прошу
под кат

Трудный путь новичка в топ 5 русского App Store

Время на прочтение5 мин
Количество просмотров5K
Приветствую всех. Являясь большим поклонником продукции одной известной фруктовой компании, решил попробовать свои силы в разработке под iOS. И вот хочу поделиться своим опытом и трудностями, с которыми я столкнулся, во время написания и публикации своего, фактически первого, приложения в App Store. Может быть, мой опыт окажется кому то полезным. А трудностей было предостаточно. В процессе публикации в App Store приложение было 2 раза отклонено и третий раз висело 6 дней в статусе «In Review». В итоге моя настойчивость победила, приложение опубликовали и оно попало в пятерку русского App Store в категорию Top Free iPhone Navigation Apps. И так все по порядку.
Читать дальше →

DOOM Classic и Wolfenstein 3D в исходниках

Время на прочтение1 мин
Количество просмотров12K


id Software — компания известная скорее всего всем посетителям Хабрахабра, ведь они стоят за такими монстрами, как: Dangerous Dave, Commander Keen, Wolfenstein, Doom, Heretic, HeXen и т.д. Некоторое время назад, выступая на QuakeCon'е, Джон Кармак обещал выпустить исходные коды Doom 3, но пока что этого не произошло.

Зато сегодня ZeniMax — компания. которой теперь принадлежит id Software (а так же Bethesda), выпустила обновления для Doom Classic и Wolfenstein 3D для iPhone, добавив в них поддержку Retina Display и универсальность (теперь в них можно играть, как на iPhone, так и на iPad), а так же, как это обычно принято в обновлениях, исправив некоторое количество ошибок.

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

Ссылки в iTunes Store на Doom Classic [$6.99] и Wolfenstein 3D [$1.99].
Ссылки на исходные коды Doom Classic и Wolfenstein 3D.

UPDATE 1: В исходных кодах содержится, собственно, только код; нет звуков и графики.
UPDATE 2: Судя по второму комментарию, даже в id Software работают люди, которым свойственно писать странный код.

Эффективный способ защиты от пиратства

Время на прочтение5 мин
Количество просмотров3.7K
Если вы разработчик ios приложений, то скорее всего, тема пиратства вам знакома, болезненна и малоприятна. Надеюсь, вам будет интересно разобраться как ей препятствовать и что нужно делать, что бы не увидеть свое приложение в репозитории hackulo.us через час после релиза в appstore.
Читать дальше →

Пишем письма из iOS приложения

Время на прочтение5 мин
Количество просмотров5.6K
Проблема

Хочу отправлять письмо из приложения под iOS без выхода из приложения (не использовать mailto URL) и без открытия дополнительного экрана (не использовать MFMailComposeViewController).

Решения

Дорогое: поднять на своем сервере web-сервис, который будет заниматься рассылкой писем, из приложения обращаться к нему.
Дешевое: использовать SMTP клиент внутри своего приложения.

Проблема

Нужно написать свой SMTP клиент

Все уже написано до нас

Jets – Flight & Seat Advisor – приложение для выбора мест в самолетах

Время на прочтение3 мин
Количество просмотров5.2K
image
Promo site

Идея приложения возникла давно, я вынашивал ее больше года, начинал писать самостоятельно, но все не находилось времени и сил по вечерам. В итоге, в какой-то момент собралась команда из 3 человек с горящими глазами, ушли с постоянной работы и серьезно погрузились в проект. Несколько дней тому назад — запустились в Travel разделе.

Совсем вкратце — наше приложение содержит большую базу пассажирских авиакомпаний и их флота. Для каждого из самолетов мы сделали детальные и очень красивые схемы их салонов, на которых показываем расположение классов, рядов, перегородки и прочий интерьер, выделяя цветами «особенные» места.

image

Каждая компания покупает новый самолет на заводе с практически пустым салоном и уже персонально под себя заказывает его «тюнинг», расставляя кресла и кабинки туалетов под свои нужды. Из-за этого, сиденья в пределах одного класса могут весьма сильно отличаться по уровню комфорта. Первый ряд кресел перед аварийными выходами имеет в разы больше места для ног, а у последнего ряда перед туалетами могут быть заблокированы спинки кресел и регулярно толпится народ в очереди. У многих самолетов бывают сплошные участки в корпусе и вместо чудесного вида на горящий двигатель можно попасть на глухую стенку. Нюансов очень много и есть определенная вероятность попасть на кресло с заблокированной спинкой, электроящиком под ногами и полкой для ручной клади занятой спасательными жилетами. Такой 11 часовой трансатлантический перелет запомнится вам надолго. И тут на сцену врываемся мы!
Читать дальше →

От Дублина до Сингапура: история разработки iPad приложения

Время на прочтение5 мин
Количество просмотров4.7K
Привет хаброчеловек!

На днях я выпустил детское приложение-раскраску для iPad Colorific. Разработка затянулась на год, но теперь, когда основная работа завершена, я хочу поделиться некоторыми вынесенными из всей этой истории уроками.



«Баловаться» с Cocoa я начал примерно полгода спустя после того, как у меня появился белый iMac G5 20" в 2005 году. Тогда я потратил на него я почти всю свою месячную зарплату. После 4-х лет на Slackware и Debian Linux макось (на тот момент Tiger) была как глоток свежего воздуха. Дальше баловства дело не заходило. Написал пару утилит для себя на Cocoa, поэксперементировал с AppleScript и отложил это дело в долгий ящик.

В следующий раз я открыл XCode, когда Apple зарелизил свой SDK. Я был полон энтузиазма, ведь они пошли примерно тем путем, о котором я говорил друзьям. Мне всегда не нравилась «анархия» в J2ME разработке, и казалось, что Apple должен пойти по пути Brew от Qualcomm, только сделать это не так «топорно». Собственно всё — среда разработчика XCode, Instruments и App Store казались мне просто идеалом того, как дожен выглядеть мобильный SDK. У меня был совсем небольшой опыт на заре J2ME, и мы даже не могли мечтать о такой инфраструктуре.

Читать дальше →

Паттерны проектирования для iOS разработчиков. Observer, часть I

Время на прочтение8 мин
Количество просмотров22K

Вместо предисловия


Прошло уже 17 лет с тех пор, как вышла легендарная книга Банды Четырех, посвященная Паттернам проектирования (Design patterns). Несмотря на столь солидный срок, тяжело оспорить актуальность описанных в ней методик. Паттерны проектирования живут и развиваются. Их применяют, обсуждают, ругают и хвалят. К сожалению, для многих они до сих пор остаются излишней абстракцией.

Обсуждая разные вопросы программирования с коллегами как в жизни, так и на различных ресурсах, довольно часто приходится объяснять важность того или иного паттерна. Так и родилась идея на конкретных примерах показать, насколько их использование может облегчить жизнь программиста. Даже если речь идет о такой платформе, как iOS.
О том, как Света вышла замуж и чем девушки похожи на футболистов

Ближайшие события

Маршрут в iOS приложениях

Время на прочтение6 мин
Количество просмотров5.4K
Написав несколько приложений для iPhone, в которых использование карты является одним из главных вариантов использования, я задумался над тем, что куча объектов на карте это очень круто, информативно и наглядно, но нехватает маршрутов от одной точки до другой.
Ниже я поделюсь своим опытом реализации данного use-case’а.
Читать дальше →

Создание приложения на framework Cocos2d под iOS

Время на прочтение5 мин
Количество просмотров11K
Здравствуйте, хабражители!

Первая моя игра была написана iPhone SDK про писающего мальчика, она очень тормозила на 3G и 3GS. Вторую сделал с меньшей нагрузкой на процессор, при этом я уже слышал о cocos2d, прочитав документацию про него, я решил к SDK, больше не возвращаться и начал программировать под эту платформу. В этой статье я не буду описывать как устанавливать cocos2d, это описано здесь, постараюсь не повторяться с этим постом. Могу лишь добавить есть стабильная 1.0.1 версия. В этой статье я расскажу как создать меню, анимацию и переход между слоями.

Итак, к делу.
Читать дальше →

oAuth для iOS приложений

Время на прочтение3 мин
Количество просмотров12K
Экран приветствия клуба Трельяж для iPhone
Вечерело. Теплая августовская суббота предрасполагала к реализации oAuth авторизации на Google и Facebook для iOS клиента клуба интеллектуальных игр.

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

Быстрые ссылки на сами библиотеки: Googlegtm-oauth2, Facebookfacebook-ios-sdk

О нюансах интеграции под катом.
Читать дальше →

Певица Бьорк выпустила «альбом-приложение» для iPhone/iPad

Время на прочтение1 мин
Количество просмотров1.9K


В то время как RIAA подаёт иски против сотен тысяч граждан за «пиратство», музыканты экспериментируют с новыми моделями продажи музыки.

Исландская певица Бьорк выпустила новый альбом в виде набора программ для iPhone/iPad. Всего в альбоме 10 песен, и каждой соответствует своя интерактивная программа, которая «объединяет в себе природу, музыку и технологию». Материнский проект называется Biophilia, как и альбом, и бесплатно распространяется вместе с первой песней-приложением Cosmogony. На картинке показан космический 3D-интерфейс, в котором указаны названия всех песен. Их можно купить как отдельные программы внутри Cosmogony.
Читать дальше →

Экспортное разрешение на шифрование для приложений из AppStore

Время на прочтение2 мин
Количество просмотров12K
Сегодня наткнулся на неожиданность при загрузке программы в iTunes Connect для публикации в AppStore. Моя программа использует шифрование для защиты информации от неавторизированного распространения. Распространение приложений с шифрованием ограничено законодательством США и контролируется Департаментом Промышленности и Безопасности Министерства торговли СШАDepartment of Commerce (DOC) Bureau of Industry and Security (BIS). Для тех, кому интересно — что было, и что стало…
смотри подробности

Мое «второе» приложение для iOS

Время на прочтение5 мин
Количество просмотров17K
Решив попытаться программировать для iOS я пересмотрел кучу ресурсов в поисках документации, описаний, уроков, но чаще всего попадались либо уроки на тему «Создание первого приложения Hello World», либо какие-то узкоспециализорованные статьи для решения конкретных задач. Поэтому начав кое как разбираться в этой системе я решил написать статью для новичков о создании чуть более сложного, чем Hello world приложения. Это приложение состоит из двух видовых панелей и одного Toolbar с кнопкой, по нажатии которой эти самые панели будут меняться местами. Для создания использован Xcode 4.1
Читать дальше →

Синхронная загрузка UIWebView

Время на прочтение4 мин
Количество просмотров6K
Приветствую, Хабр!

Все началось с поиска решения задачи отображения форматированного текста внутри UITableViewCell, причем не строго заданного формата (тогда можно было бы использовать набор UILabel c заданным font) а произвольного. Да так, чтобы форматирование можно было задать простейшими html тегами. Решить такую задачу можно по-разному:
  • Реализовать кастомный компонент с использованием CoreText (не подходит если нужна iOS3.x совместимость)
  • Реализовать кастомный компонент с использованием CoreGraphics (очень объемная работа)
  • Реализовать кастомный компонент с динамическим число UILabels в качестве subviews (довольно мутно в связи с переносами и прочим)
  • UIWebView c загрузкой через loadHTMLString


Как читеталь мог догадаться из заголовка статьи, я остановился на последнем способе, однако те из вас кто пробовал этот сопособ знают об очень неприятном подводном камне. Как от него избавиться я расскажу под катом.
Читать дальше →