Сегодня я хотел бы поведать о достаточно сложной задаче, которую мне недавно удалось решить. Краткую суть ее можно увидеть в заголовке поста. Может возникнуть вопрос: зачем такое вообще могло понадобиться? Такое ощущение, что никто до меня этим вопросом не задавался, ибо гугл был крайне скуден на ответы. Ведь это же очень логично и очевидно — так гораздо легче отлаживать. Для того, чтобы опробовать новый звук или изменения в уровневой логике, не нужно перекомпилировать каждый раз проект, можно даже не перезапускать приложение. Сейчас расскажу, как мне удалось этого добиться.
Читать далее…
Настала пора поведать общественности о моем скромном участии в интересном и перспективном проекте с весьма оригинальным названием Timera (от слов time и camera). По удачному стечению обстоятельств я пребывал в активной фазе поисков новых гаризонтов развития в тот самый момент, когда руководство стартапа искало кандидата на вакансию iOS-разработчика. Суть проекта довольно проста — ее визуальное представление можно видеть на главной иллюстрации к посту (изображение кликабельно). Пользователю представляется инструмент для создания временнОго туннеля путем совмещения фотографии из прошлого с фотографией, сделанной камерой смартфона. Идея мне очень понравилась и я незамедлительно начал интегрироваться в процесс разработки, в ходе которого пришлось столкнуться и преодолеть немало сложных и интересных задач. Читать далее…
Сегодня хотел бы записать на память один нетривиальный процесс, касающийся внедрения механизма Apple Push Notification Service, который осуществляет рассылку коротких сообщений на устройства пользователей приложений в AppStore. И хотел бы я записать последовательность действий, производимых при создании и установки SSL Push Certificate, без которого не будет работать серверная часть, рассылающая пуши. Также если останется место, напишу, как реализовать самый простецкий push-сервер на php. Сама функция Push Notification очень полезна для оповещения пользователей о новых событиях в системе. Такие монстры, как Skype, Google, WhatsApp используют технологию push, чтобы осуществлять вызов абонентов или уведомлять о новых сообщениях на манер, как это делает стандартное приложение PhoneApp. Читать далее…
Долгое время не мог подступиться к одной проблеме, которая то и дело периодически всплывала. В очередной раз я твердо решил, что мириться с таким положением дел не представляется более возможным и в очередной раз приступил к исследованиям. А проблема в следующем. Предположим, имеется в наличие монохромная картинка (например, иконка звезды для кнопки Избранные), а также некий каркас приложения, который реализует использование скинов (кастомизация пользовательского интерфейса). Если один клиент хочет, чтобы звезда была красной, а другой, чтобы синей, то дизайнеру придется каждый раз переделывать изображение. Но зачем, когда должно существовать более простой способ придать оттенок изображению с помощью графических функций CoreGraphics. Читать далее…
Недавно свершил подвиг, до которого долгое время не доходили руки — настроил раздачу iptv через Linksys WRT54G2. На самом деле, раздача осуществляется, конечно же, не только на iPad/iPhone, но и на другие устройства, а статья так названа для привлечения поискового трафика) Основной целью эксперимента было сделать мой mac-компьютер способным просматривать iptv. Хоть зомбоящик и зло, иногда бывает прикольно посмотреть параллельно с работой какие-нибудь новости, познавательные или спортивные передачи, мульты наконец. Да, а что, я это дело люблю)). И так, что у нас в распоряжении: wifi-роутер Linksys WRT54G2, интернет-провайдер Interzet (это не очень принципиально, опять же, по большей части для поисковиков), компьютер iMac, компьютер Windows-PC и куча гаджетов — iPhone, iPad, androids. Читать далее…
Как же долго не мог я себя мотивировать к обновлению блога после новогдних праздников, полтора месяца прошло…
По роду своей деятельности мне приходиться заниматься доставкой (deployment) adhoc версий на iOS-девайсы заказчиков. Все бы ничего, но порой для человека установить IPA-файл на дейвайс становится адовым адом. Да и мне особого удовольствия не доставляет каждый раз усердно объяснять людям, как установить этот самый IPA-файл на свой iPhone/iPad/iPod. Буквально на днях открыл для себя ошеломляюще простой способ установки adhoc на устройство, используя… штатный Safari-браузер , поставляемый в комплекте iOS. На самом деле, любой другой браузер тоже сгодится. Установка происходит в один клик. Читать далее…
Сразу хочу признаться, идею этого приложения я позаимстовал в одной flash-игрушке, ровно как и саму идею заимствовать идеи во флэш-играх — как то прочел в одном блоге сетования товарища на тему того, что какие-то нехорошие люди под кальку переделали его флэш-игру на iOS и срубили нехило деньжат. Но я не такой подлый коварный, поэтому свое приложение я сделал бесплатным, не смотря на то, что на его создание ушло почти три месяца. Почему я решил делать именно «пьяницу» (рабочее название)? В оригинальной игре нужно было удерживать от падения нестабильного персонажа, двигая мышку вправо-влево. Мне показалась очень заманчивой идея воспроизвести это же, но только с использованием акселерометра (устройство, с помощью которого iPhone знает свое расплолжение в пространстве) — идеально укладывается в концепцию iOS-приложения. К тому же с моего предыдущего приложения, в котором акселерометр использовался весьма примитивно, у меня было сильное желание более тщательно изучить приемы работы с акселерометром. Ну и плюс еще добавил несколько фич, например, бутылки на дороге, на которых человек может поскользнуться — их нужно отшвыривать. Поэтому изучить пришлось гораздо больше, и сейчас я попробую это изложить. Читать далее…
Одним из пожалуй главных условий публикации приложений в AppStore является отсутствие утечек памяти. В данный момент занимаюсь подготовкой своего третьего официального iPhone-приложения (и похоже до нового года не успеваю – Apple торжественно объявили, что iTunesconnect уходит на рождественские каникулы). Предыдущие приложения прошли валидацию на соотвтетствие требованиям с первого раза, хотя у коллег я встречал в блогах или на форумах упоминания о том, что их приложения заворачивали в том числе и из-за того, что в них обнаруживались утечки. То есть специалисты Apple Inc. тестируют все публикуемые приложения на соответствие дизайну, и, если обнаруживают какое-либо несоответствие, возвращают приложение из статуса On Review в Rejected. Следовательно, приложение необходимо протестировать перед публикацией, и в первую очередь на предмет утечек памяти. Читать далее…
Эта история началась несколько лет назад после того, как я посмотрел художественное кино Миссия на Марс (Mission to Mars, 2000). Фильм произвел на меня сильное впечатление, отличный сюжет, хорошая актерская работа, классные съемки, спец эффекты, в общем по моему мнению фильм на твердую пятерку. Действия фильма происходят в обозримом будущем, когда человечество стало совершать пилотируемые полеты на Марс. Завязка: очередная экспедиция терпит бедствие (как выясниться позже из-за одной аномалии, найденной на планете), связь с ними теряется и НАСА срочно готовит спасательную операцию. Новая экспедиция находит место приземления (или примарсения), не без приключений и жертв садится на планету и начинает изучать найденный артефакт — огромное лицо на поверхности планеты обращенное к космосу. Читать далее…
Давненько не обновлял блог, нужно бы что-то написать. На самом деле, материала опять скопилось море, не понимаю, как другие блоггеры все успевают. Это ж нужно только сидеть и писать. Ладно, упустим уже лирику. В данный момент я почти заканчиваю свое третье приложение для iPhone, о нем я расскажу в ближайших постах, а пока я решил чиркнуть пару строк о своих первых двух приложениях, и вот для чего. Дело в том, что мой сайт еще пока не реализован в той степени, в которой я его задумывал. Не хватает как минимум двух разделов. Один из них — Products. По-русски пока не придумал, как назвать, но суть, думаю ясна. Буду туда выкладывать результаты своего творчества (вот, кстати, неплохое название — творчество). Сейчас я как раз доделываю серверную функциональность, и в связи с этим нужно будет что-то уже выложить. Читать далее…