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

Разработать приложение за 48 часов

Добрый день, уважаемые читатели!

На дворе лето, в головах ветер, в сердце покой, а мы, в нашем скромном кругу Бессвязного Девелопа, решили устроить еще один хакатон по разработке мобильных приложений за 48 часов. За следующие 2 дня мы постараемся разработать приложение для Нелли Ермолаевой и Екатеринбург Экспо.

В программе трансляции:

  • Cocoa-pods — долгое время мы отказывались от использования подов из-за призрачной грязи в проектах. Однако совсем недавно мы решили исправиться и поднять работу с этой технологии в рамках хакатона
  • Layer — инновационный движок мгновенных сообщений от создателей iMessages
  • Synx — программа-сортировщик для файлов проекта в Xcode
  • Alcatraz — менеджер расширений Xcode
  • Работа с VK, Instagram, Twitter API
  • Разработка нестандартных элементов UI
  • Приложения от нуля и до релиза
  • Веселье, хорошая музыка и многое другое!

Ссылка на трансляцию.
Читать полностью »

Как позвонить на iOS7 [jailbreak] из приложения?

У меня появилась задача позвонить с iPhone на iOS7. На предыдущих версиях iOS (6 и ранее) было достаточно воспользоваться private API и все работало, но на iOS7 этот подход перестал работать. В этом посте я хочу рассказать как сделать звонок и получить собственный номер телефона из приложения.

Код проекта на github.
Читать полностью »

Disclaimer. Этот пост написан на основе доклада на SQADays’15. Вы можете также посмотреть видео выступления или полистать презентацию. Обращаю внимание, что доклад был начального уровня, то есть пост будет интересен в основном менеджерам и начинающим тестировщикам. А также на то, что автор — ненастоящий сварщик и местами делает довольно грубые округления.

Меня зовут Алёна, и я релиз-менеджер. Отдел компании, в котором я работаю, в основном занимается приложениями под iOS и Android. Ещё мы поддерживаем Tizen, Windows Phone, альтернативные сторы, но в данном посте речь пойдёт об Apple iOS Appstore и Google Play.
В обоих маркетах, помимо платных и бесплатных приложений, есть возможность проводить внутренние платежи — ин-аппы (In-App Purchases).

Почему я рассказываю про тестирование ин-аппов? Потому что могу!
Будучи релиз-менеджером, я участвую в проектах обычно в начале разработки и в конце тех итераций, которые заканчиваются выкладкой в сторы. Перед началом проекта выдаю разработчикам ключи и сертификаты, а к концу работы над версией разработчики отдают мне билды для релиза. Но между этими точками есть момент, когда надо завести внутренние платежи — ин-аппы и выдать тестировщикам тестовые аккаунты. И вот на этом этапе иногда случается что-то странное, когда разработчики считают, что у них всё хорошо, а тестировщики — что всё плохо.

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

Дмитрий Терехин, CEO компании Nekki.ru – российская игровая компания. Сделали хит – Shadow Fight 2, находились в ТОП-50 кассовых приложений США.

— «Компании уже около 12 лет – мы начинали, будучи студентами. По сути, это было хобби, которое постепенно перерастало в работу. И если в начале был нулевой бюджет, мы думали, что найдем какого-то издателя, инвестора, но это не получалось, а потом мы научились сами зарабатывать деньги, без чьей либо помощи.»

Как попасть в ТОП без копейки на маркетинг и «есть ли жизнь после PC» расскажем под катом.
image
Читать полностью »

С появлением IOS 7 мир узрел новый игровой движок от Apple — SpriteKit. В свете того, что он появился совсем недавно об этом движке еще мало что написано, конечно в сети можно найти несколько tutorial -ов по нему но в основном все они на Английском языке. И по этому я задалась целью написать подробный Туториал об этом замечательном движке.

И так что же такое SpriteKit?

SpriteKit — это 2D движок, оптимизированный для создание игр для устройств от компании Apple. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple он существенно выигрывает в скорости у остальных движков.
В SpriteKit всю роль по оптимизации и рисованию графики берет на себя OpenGl, это все происходит на низком уровне и по этому вы можете сосредоточить свои усилия на решении проблем более высокого уровня и создание больших 2D игр. Для создание игр на SpriteKit используется язык Objective-c, но с выходом IOS 8 и нового языка Swift, игры также можно создавать и на нем.
От себя хотела бы добавить, что в некотором роде на Swift писать даже легче, так что если вы только начинаете и думаете какой язык выбрать то советую выбрать Swift.

Ниже, я предоставила видео с демонстрацией игрового процесса SpriteKit, если вам стало интересно то милости прошу.

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

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

iOS является объектно-ориентированной штукой. Где-то ниже Objective-C (а скоро мы сможем говорить уже и о Swift) залегают огромные пласты не-объектного кода, и под ними — Unix (а точнее BSD) система. И на том уровне у Linux и у iOS много общего. Но я и не об этом.

Давайте сравним основные структуры ядра Linux с объектно-ориентированной частью iOS.

1. Основные структуры

В обеих системах присутствует некоторое количество фундаментальных структур. Например, в iOS это будут:

Строки (NSSrting);
Массивы (NSArray);
Коллекции (NSSet);
Словари (NSDictionary);
Представление числовых примитивов (NSNumber);
Скаляры (NSRange).
Читать полностью »

Как мы писали iOS библиотеку для работы с Wargaming API

World of Tanks Assistant (WOT Assistant) и World of Warplanes Assitant (WOWP Assistant) — это приложения–компаньоны для игроков, которые позволяют следить за внутриигровой статистикой, сравнивать свои боевые показатели с друзьями, а также предоставляют оффлайн-доступ к справочной информации по технике.


WOWP Assistant появился относительно недавно (ноябрь 2013), а версия для World of Tanks была переписана почти с нуля в начале 2013, что по времени совпало с переходом на новый Wargaming Public API. 

Надеюсь, наиболее технически интересные моменты разработки iOS-библиотеки для взаимодействия Assistant’ов с API будут полезны для разработчиков и послужат источником вдохновения для участников конкурса Wargaming Developers Contest.
Читать полностью »

На это неделе мы узнали как стать ниндзя Xcode, возмутились политикой Google Play, рассмотрели ему альтернативы, научились делать прототипы и встраивать планшет в автомобиль. Мобильная разработка не затихает даже в жарком августе!

Полезные материалы для мобильного разработчика #65 (4 10 августа)Читать полностью »

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

Imagrium — это результат одного из таких исследований. Технически это Jython фреймворк для кросс-платформенного тестирования мобильных Android/iOS приложений с помощью распознавания изображений, написанный нашей компанией. Он представлен в виде рабочего PyDev проекта, который вы можете изменить под свои нужды. Код распространяется под MIT лицензией и доступен на Github. В этой статье я расскажу о принципах работы фреймворка и его устройстве.
Читать полностью »

О блоках в ObjC и правильной работе с ними написано очень много, в том числе и на хабре. Вопрос о том, как правильно работать с self в блоках, чтобы избежать циклических ссылок, регулярно задается на собеседованиях. При использовании таких фреймворков, как ReactiveCocoa количество блоков в коде сильно возрастает, при этом увеличивается шанс допустить ошибку и потерять в памяти объекты. Про попытку окончательно решить эту проблему, метапрограммирование для с99 с экстеншнами и блоками + хипстерсткие макросы с @ под катом.
Читать полностью »


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