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

Буквально на днях мой iPhone гордо сообщил мне, что стала доступна iOS 12 и предложил мне обновиться. На хабре уже было пару статей о том, что нового анонсировал Apple в этой версии. Но я не заметил там упоминания об одной полезной для смартфонозадротов вроде меня функции «Экранное время». Я давно знал, что мне присуща слишком уж нездоровая зависимость от телефона (впрочем, я не один такой). Теперь мы можем подробнее исследовать свои привычки без установки дополнительных приложений. Под катом — не только описание возможностей, но и некоторые рекомендации по экологии использования смартфона.

Как новая функция iOS 12 напомнила мне, что пора лечиться - 1Читать полностью »

Жил был скромный вью-контроллер VCYellow. И не было у него ни картинки, ни текста, ни даже малюсенькой бизнес логики. Жил он обычной вью-контроллерской жизнью.

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

Управление состоянием в приложениях на Flutter - 1

Общие принципы

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

Пользовательский интерфейс на Flutter, как и в большинстве современных фреймворков, состоит из дерева компонентов (виджетов). При изменении какого-либо компонента, происходит перерендеринг этого и всех его дочерних компонентов (с внутренними оптимизациями, о которых ниже). При глобальном изменении отображения (например, повороте экрана), перерисовывается всё дерево виджетов.

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

Топ-10 докладов Mobius 2018 Piter - 1

Весной мы провели в Петербурге конференцию по мобильной разработке Mobius, и до сегодняшнего дня видеозаписи докладов были доступны только её зрителям. Но теперь настало время поделиться со всем миром: по ссылке плейлист, а в этом посте представляем лучшую десятку.

Она составлена по оценкам зрителей, так что мы никак не влияли, но при этом сам собой возник баланс платформ: четыре доклада по Android, четыре по iOS, и два применимых для любой платформы. А темы докладов совсем разные, от нюансов ARKit и JobScheduler до реверс-инжиниринга и подхода к релизам — найти что-то для себя смогут самые разные разработчики.

Доклады в списке расположены по возрастанию рейтинга — так что чем дальше, тем интереснее!
Читать полностью »

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

Пусть есть экран MelodyListViewController показывающий список мелодий. У него есть презентер MelodyListPresenter, который говорит ViewController что показывать. Данные презентер будет брать из сервиса MelodyService. MelodyService это обертка над базой данных и api клиентом, загружающая мелодии. Если сеть доступна, сервис берет данные с api, иначе с базы данных. Типы ошибок загрузки представлены в enum ServiceRequestError.Читать полностью »

Обход SSL Pinning в iOS-приложении - 1

Привет, меня зовут Андрей Батутин, я Senior iOS Developer в DataArt. В предыдущей статье мы говорили, как можно сниффить трафик нашего мобильного приложения с помощью HTTPS-прокси. В этой обсудим, как обходить SSL Pinning. На всякий случай, рекомендую прочитать первую статью, если вы ее еще не читали: это понадобится для понимания приведенного ниже текста.

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

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

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

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

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

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

Главная тема недели — разочарование. В софте, приложениях, инди. Из положительного — архитектуры, книги, финальный Flutter и даже креативы для продвижения. В общем, обычный разносторонний дайджест.

Дайджест интересных материалов для мобильного разработчика #271 (17 — 23 сентября) - 1Читать полностью »

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

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

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

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

image

iOS митап в офисе роботов отгремел 7 сентября. Для тех, кто не смог прийти, мы все записали. Смотрите.
Читать полностью »


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