Рубрика «iOS» - 39

Автоматизируем сборку iOS приложений с помощью Fastlane - 1

Как часто нам, iOS разработчикам, приходится собирать приложение для загрузки в iTunes Connect App Store Connect? В процессе этапа активного бета-тестирования приложения нужно оперативно фиксить баги и поставлять обновленную сборку для тестирования. А также необходимо скачивать сертификаты, Provision profiles, прокликивать много разных галочек и кнопочек при каждой выкладке нового билда.

К счастью, есть такой замечательный инструмент, как fastlane, который помогает нам автоматизировать ручные действия мобильного разработчика.

В этом посте я расскажу: что такое fastlane и как быстро начать его использовать в своих iOS проектах.

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

Как мы отлаживаем в браузере самописный ECS на игровом сервере - 1

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

В предыдущих статьях подробно рассказывали (список сразу под катом) о том, как устроена ECS в нашем новом проекте в разработке и как выбирали готовые решения. Одним из таких решений был Entitas. Он не устроил нас в первую очередь из-за отсутствия хранения истории состояний, но очень понравился тем, что в Unity визуально и наглядно можно посмотреть всю статистику по использованию сущностей, компонентов, систему пулов, производительность каждой системы и т.д.

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

RESS — Новая архитектура для мобильных приложений - 1

Вопреки провокационному заголовку, это никакая не новая архитектура, а попытка перевода простых и проверенных временем практик на новояз, на котором говорит современное Android-комьюнити

Введение

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

Айтишные сайты заполонили туториалы по модным фреймворкам и переусложненным архитектурам, но при этом даже нет best practice для REST-клиентов под Android. Хотя это один из самых частых кейсов приложений. Хочется чтобы нормальный подход к разработке тоже пошел в массы. Поэтому и пишу эту статью
Читать полностью »

Проектируя AppsConf 2018 мы задали себе высокую планку — сделать самую полезную конференцию по мобильной разработке. Окончательно выяснить, получилось ли задуманное, приглашаем на саму конференцию 8 и 9 октября в Инфопространство. Но я, как свидетель предварительных прогонов и обладатель инсайдерской информации, могу пообещать — будет круто. В подтверждение этих слов, ниже рассказ о топовых докладах.

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

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

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

От презентации Apple, которая должна была пройти 12 сентября, ничего особенного не ждали: три новых модели iPhone и новую версию Apple Watch — об этих новинках знали заранее. Тем не менее, мы в Авито не могли пропустить это событие. Когда за пару дней до Very Special Event мы поняли, что образовалась компания из тех, кто не хочет смотреть трансляцию в одиночку, то решили позвать в гости наших друзей — iOS-разработчиков из других компаний. Посмотреть мероприятие вместе, обсудить новинки (и то, как они повлияют на разработку приложений под iOS), поесть шаурму, выпить смузи, вот это всё.

Рассказываю под катом, как мы смотрели Apple Special Event, и что думают мои коллеги о новых устройствах и фичах компании из Купертино.

Very Special Event: как мы смотрели презентацию Apple и что об этом думаем - 1Читать полностью »

Наверное, в каждом большом iOS-проекте — долгожителе можно наткнуться на иконки, которые нигде не используются, или обращения к ключам локализации, которые уже давно не существуют. Чаще всего такие ситуации возникают из-за невнимательности, а лучшее лекарство от невнимательности — автоматизация.

В iOS-команде HeadHunter мы большое внимание уделяем автоматизации рутинных задач, с которыми может столкнуться разработчик. Этой статьей мы хотим начать цикл рассказов о тех инструментах и подходах, которые упрощают нашу повседневную работу.

Какое-то время назад нам удалось взять ресурсы приложения под контроль с помощью утилиты SwiftGen. О том, как ее настроить, как с ней жить и как эта утилита помогает переложить проверку актуальности ресурсов на плечи компилятора, и пойдет речь под катом.

Контроль над ресурсами. Настраиваем SwiftGen - 1

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

image

На github опубликован код, приводящий к force restart iOS (11/12 GM) устройств при посещении html-страницы. Также приводит к зависанию Mac OS High Sierra/Mohave при использовании Safari.

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

image

Введение

WWDC15 – Apple анонсирует переход на Universal Links. Их смысл непомерно прост – отправлять пользователя в приложение, если он переходит на страницу сайта, которую приложение поддерживает. Наиболее часто это применяется в письмах, которые отправляются после регистрации для подтверждения электронной почты. Таким образом, Universal Links избавляет пользователя от необходимости самостоятельно возвращаться в приложение – а это хорошо как для пользовательского опыта, так и для статистики.
Читать полностью »

Что представила Apple и что думают об этом iOS-разработчики - 1

За презентациями Apple с интересом следят самые разные люди. Но, вероятно, интереснее всех iOS-разработчикам: они видят всё и с ракурса «каково этим пользоваться», и с ракурса «каково нам с этим работать». А когда все массово обновляют iOS, они уже насмотрелись на бета-версии.

У нашей конференции Mobius в программном комитете есть целый ряд iOS-разработчиков. И после новой презентации мы решили спросить, что они думают и о представленных устройствах, и о выходящей вместе с этими устройствами iOS 12.

Если не смотрели презентацию — для вас первая половина поста с информацией «что вообще было представлено», если смотрели — можете сразу переходить к части с мнениями. Интересно будет узнать и ваше мнение в комментариях, особенно если вы тоже iOS-разработчик!
Читать полностью »

Что нового показали на презентации Apple - 1

Меньше часа назад закончился очередной ежегодный Apple Event. В Театре имени Стива Джобса собрались журналисты и тех-гики, жаждущие новой информации от самой большой компании на планете и первого американского триллионера.

Часть данных о новых девайсах Apple сама сегодня случайно проспойлерила на своём веб-сайте. Во время его обновления в коде появились упоминания об iPhone Xs, iPhone Xs Max и iPhone Xr. Помимо названий «утекли» и некоторые характеристики новых устройств: размер экрана, объем памяти и цвет корпуса. Но о самом интересном Тим Кук с товарищами всё-таки рассказали непосредственно на мероприятии. Вкратце, тремя словами: дороже, больше, мощнее.Читать полностью »


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