войти зарегистрироваться

Блог компании ZeptoLabИнтеграция iCloud на примере игры Cut the Rope

Привет хабра-житель. Сегодня я хотел бы поведать тебе о своем опыте интеграции iCloud в игру Cut the Rope.

На этот пост меня вдохновил отзыв одного пользователя, пришедший на почтовый адрес технической поддержки:
«I do not need any help, I just wanted to ask you something… How did you
run iCloud Cut the Rope even if it is not a universal application? I
alternate with iPhone and iPad without problems, and it is extraordinary.
Unfortunately, no other developer does this, it is only with universal
applications, so I wonder… you are a magician you or others are not
willing to do anything? You are number one for me, thank you for your
beautiful game and support it for long. Hello».

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

Разработка под Apple iOSИнтегрируем Copy-Paste-Detection в Xcode, и не только

Сегодня ночью, проводя очередной code-review в наших проектах, наткнулся на большой кусок проявления чистейшего, кристализованного копипаста. Он не очень пришелся мне по душе, и как-то сразу всплыл вопрос:" А много ли копипаста у нас в проектах"? Google is my friend, поэтому решение нашлось очень быстро у jkennedy1980, который использовал CPD (copy paste detector), который входит в PMD (Pretty Much Done || Project Mess Detector || Programming Mistake Detector || ... ). В общем случае, CPD умеет находить copy-paste сходу для ряда языков(cpp, cs, java, php, ruby, ecmascript) и относительно легко расширяется, но мне же был нужен Objective-C. Как раз такой вариант и был у jkennedy1980, который использовал CPD в автоматической сборке jenkins'ом. Это в общем случае очень хорошо для любого проекта на любом языке, когда jenkins внедрен в процесс разработки, все права выставлены, и все знают где, когда и что надо нажимать. В случае же, когда разработчики не знают про jenkins, либо знают, но он где-то там далеко, такой метод мягко говоря не подходит. Xcode для iPhone/iOS разработчиков, все же, как-то ближе, и хотя для него все еще нельзя написать плагин,
НЛО прилетело и опубликовало эту надпись здесь.

Разработка под Apple iOSКак делалось iPhone-приложение для ServerClub

В преддверии осени я завершил разработку iPhone-приложения для хостинга ServerClub.com. Теперь выдалась свободная минутка, и мне хотелось бы воспользоваться ею, чтобы поделиться с Хабрасообществом некоторыми усвоенными в ходе проекта уроками, а также поведать о «граблях», которые встретились на пути.

Итак, началось все с того, что в HQ компании ServerClub.com, предоставляющей в аренду серверы и сопутствующий сервис, родилась идея дополнить веб-сайт мультиплатформенным мобильным клиентом, который предоставлял бы пользователям доступ к их серверам, данным по трафику, датчикам, тикетам, финансам, счетам на оплату, а также позволял бы заказывать серверы прямо из приложения. Вообщем, задумали они повторить весь функционал веб-клиента, переосмыслив и упаковав его в мобильное приложение. Сразу было понятно, что работы предстоит немало, но все же, как это часто бывает, оптимизм переборол разум, и я оценил работу в 1 календарный месяц, по прошествии которого я рассчитывал опубликовать приложение в App Store. Вот только в ходе разработки, согласования и уточнений каждая крупная фича «обросла» еще и мелкими нюансами, на реализацию и полировку которых ушло дополнительное время. Кроме того, неожиданные сюрпризы преподнесли ревьюверы, но обо всем по порядку.

Я пиарюсь Pocket Lists. Чеклисты для iPhone



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

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

Итак, я решил, что не нужно делать небольшое приложение, а нужно поменять приоритеты и выпустить настолько хорошее приложение, насколько смогу. Чтобы когда-нибудь стать App of the Week и побороться за разные награды вплоть до Apple Design Award. Задача поставлена понятно, но ее выполнение — выбор нужного функционала, дизайн, стремление к перфекционизму — оказалось мучительным.

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



Разработка под Apple iOSБета-тестирование iPhone-приложений из песочницы

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

Ни для кого не секрет, что бета-тестирование на смартфонах — довольно трудоемкий процесс, а уж на iPhone — и подавно. Все дело в его многоступенчатости: сперва пользователю нужно найти UDID своего устройства, затем отправить его разработчикам. Только после этих действий со стороны юзера его аппарат вносится в список зарегистрированных девайсов, а уж потом собирается рабочая версия и отсылается ему на почту письмо с просьбой об установке.

iPhone«Афиша-Мир» обновила приложение для iOS

Обновленная версия приложения «Афиши-Мир» для iPhone и iPad уже доступна в AppStore.

В ходе обновления была улучшена навигация, приведена в порядок верстка и было добавлено несколько удобных функций — все, чтобы путешествовать и делиться впечатлениями с помощью «Афиши-Мир» было проще и приятнее.


Разработка под Apple iOSPhonegap + NativeControls = нативное iPhone приложение на Javascript из песочницы

PhoneGap многим известный фреймворк, который позволяет писать приложения под мобильные устройства на яваскрипте. О нем не раз писалось на хабре, поэтому останавливаться на его описании не будем.

Интересной особенностью является то, что под него можно писать свои плагины. Если конечно таких плагинов уже нет. Таким образом можно реализовать нативные элементы платформы, которых изначально нет в PhoneGap.

Рассматриваемый плагин ранее был включен в PhoneGap, но с недавнего времени его необходимо доустанавливать отдельно. Речь идет об NativeControls. Сразу оговорюсь что в данной статье речь пойдет об использовании плагина для iOS. Под андроид использование аналогично.

NativeControls позволяет добавлять нативные UITabBar и UIToolBar (сначала я подумал что это UINavigationBar). Реализовано это таким образом, что центральная часть приложения это UIWebView – в котором собственно и располагается веб-приложение. И к этому UIWebView добавляются UITabBar и UIToolBar. И они взаимодействуют между собой в двустороннем порядке. Ниже я опишу основные методы взаимодействия между «веб-частью» приложения и «нативной» частью.
Перейдем к делу.

Разработка под Apple iOSAppCode — Новая IDE для Objective-С от JetBrains

Только что был анонсирован выпуск JetBrains AppCode, новой интегрированной среды разработки для Objective-C.

Как присуще всем IDE компании JetBrains наиболее сильные стороны AppCode: редактор кода с умным автодополнением, анализом кода проекта и подсказками по его улучшению, широкий спектр надежных рефакторингов, удобный отладчик с возможностью запуска кода на устройствах (iPhone или iPad), и удобная интеграция с системами контроля версий (SVN, Git, Mercurial, Perforce, и т.д.)

image

Конечно же присутствует интеграция с Xcode. Можно просто открыть проект Xcode, создать новый Xcode проект и пр. AppCode позволяет в любой момент переключаться в Xcode и обратно с сохранением всей структуры проекта. Для редактирования некоторых типов файлов, например xib, storyboard, автоматически используются инструменты Xcode. Более полный список функциональности можно посмотреть тут.

Продукт коммерческий, бесплатно можно пользоваться в течение 30 дней. Также можно получить бесплатную лицензию, если вы работаете над open-source проектом.

Фидбэк приветствуется!

Интернет-рекламаКое-что о раскрутке приложений в Apple App Store

App Store

Статистика «яблочного» магазина приложений изобилует тысячами и миллионами, при этом Apple не забывает на любой презентации упомянуть про то, сколько уже миллиардов было выплачено разработчикам. Но, как говорят у них там, it's no picnic. Добиться успеха в App Store всё сложнее, слишком велика конкуренция, слишком много крупных издателей.

Прошли те сказочные времена, когда было достаточно всего лишь выложить игру в App Store, чтобы уже через несколько месяцев наслаждаться бессрочным отпуском за свой счёт на каком-нибудь роскошном курорте. Если не прикладывать вообще никаких усилий по маркетингу и раскрутке приложения, то шансы на получение даже четырёхзначной суммы будут сравнимы с шансами найти золотой слиток, просеивая детскую песочницу.

В Гугле полно материалов на тему «как раскрутить приложение в App Store». В массе своей они достаточно поверхностны и больше походят на советы из серии «хорошо быть богатым и здоровым, и плохо быть бедным и больным». В этом очерке постараюсь поделиться нашим персональным опытом следования всем этим советам.

Мы — это небольшая команда разработчиков из Риги Silent Apps Team. Говоря «небольшая», я имею в виду команду типа «водка-треники-бутерброды» — над iOS проектами мы работаем в свободное от основной работы время, обширными финансовыми возможностями не обладаем. Таких домашних команд представлено достаточно много в App Store, новые продолжают подключаться каждый день.