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

Какой должна быть популярная игра

Продолжая серию статей о гейм-дизайне, поговорим о том, что же сейчас набирает наибольшую популярность в индустрии развлечений, а именно в индустрии видеоигр.

Самым показательным примером последнего времени является, несомненно, Collecting Card Game – Hearthstone. Можно сказать, что до её выхода не было действительно массовых популярных карточных игр на PC. Да, есть Magic the Gathering и другие попытки занять эту нишу, но их попытки оказались в разы менее успешными, чем у Blizzard.

Что же сделало эту игру такой популярной? Так называемая схема «Easy to learn, hard to master» (наиболее правильный перевод – легко начать играть, сложно достичь высот). Т.е. в первую очередь, любой игрок может установить себе эту игру и его встретит красочный туториал, с интересными персонажами (многим знакомые по вселенной Warcraft), озвучкой и сценариями. После прохождения туториала игра по большей части отпускает игрока в свободное плавание, но этого достаточно чтобы завладеть сердцами игроков.
Читать полностью »

image

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

image

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

Swift: кружимся, кружимся!Этот пост является переводом статьи Swift: around and around!, автором которой является молодой инженер Michael Teeuw.
Сам автор стал немного известнее в Рунете после создания «умного» зеркала

В этой же статье Майкл поделился впечатлениями о новом языке программирования Swift и выложил исходный код своих экспериментов, посвященных распознаванию жестов

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

Работа каскада Хаара в OpenCV в картинках: теория и практика

В прошлой статье мы подробно описали алгоритм распознавания номеров (ссылка), который заключается в получении текстового представления на заранее подготовленном изображении, содержащем рамку с номером + небольшие отступы для удобства распознавания. Мы лишь вскользь упомянули, что для выделения областей, где содержатся номера, использовался метод Виолы-Джонса. Данный метод уже описывался на хабре (ссылка, ссылка, ссылка, ссылка). Сегодня мы проиллюстрируем наглядно то, как он работает и коснёмся ранее необсужденных аспектов + в качестве бонуса будет показано, как подготовить вырезанные картинки с номерами на платформе iOS для последующего получения уже текстового представления номера.
Читать полностью »

Нескучные UITableViews

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

В Cocoa очень популярен паттерн делегирование. Стандартный способ реализации этого паттерна — добавление к делегатору weak свойства, которое хранит ссылку на делегат.

У делегирования много различных применений. Например, реализация какого-то поведения в другом классе без наследования. Еще делегирование используется как способ передачи уведомлений. Например, UITextField вызывает у делегата метод textFieldDidEndEditing:, который информирует его о том, что редактирование закончено, и т.д.

А теперь представьте задачу: надо сделать так, чтобы делегатор посылал сообщения не одному делегату, а нескольким, причем делегирование реализовано стандартным методом через свойство.
Читать полностью »

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

26 мая этого года количество посещений рунета iOS пользователями достигло исторического максимума. По статистике от liveinternet.ru, в этот день зафиксировано 15 918 155 посещений, из которых 10 525 819 посещений было осуществлено с помощью iPhone и 5 392 336 с помощью iPad (рис. 1).

Как за ноль рублей увеличить количество органических установок в AppStore в 2 3 раза?
Читать полностью »

Едва -едва мы разобрались с последствиями WWDC, как Google проводит свою главную конференцию для разработчиков. Один миллиард пользователей, новый Android L, новый дизайн, Android в машинах и телевизорах — этого нам хватит на долго. А кроме этого — виртуальная реальность из картона, Nest открывает доступ для разработчиков, «Вконтакте» анонсирует мобильную игровую платформу и много другого интересного.

Полезные материалы для мобильного разработчика #59 (23 29 июня)Читать полностью »

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

(lldb) po [[self view] recursiveDescription]
<UIView: 0x6a107c0; frame = (0 20; 320 460); autoresize = W+H; layer = […]
   | <UIRoundedRectButton: 0x6a103e0; frame = (124 196; 72 37); opaque = NO; […]
   |    | <UIButtonLabel: 0x6a117b0; frame = (19 8; 34 21); text = 'Test'; […]
   .....

Еще многие знают, что при помощи рантайма, можно получить список переменных/методов/свойств/протоколов/… класса. И обычно для этих целей пишут вспомогательный код. Но оказывается, все уже давно написано сотрудниками Apple. В UIKit.framework реализована категория с именем IvarDescription.

@interface NSObject (IvarDescription)
- (id)_shortMethodDescription;
- (id)_methodDescription;
- (id)__methodDescriptionForClass:(Class)arg1;
- (id)_ivarDescription;
- (id)__ivarDescriptionForClass:(Class)arg1;
@end

Названия метдов говорят за себя. Но давайте посмотрим, что же они возвращают.
Читать полностью »


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