Обновить
66

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Дайджест интересных материалов для мобильного разработчика #403 (19 — 25 июля)

Время на прочтение3 мин
Охват и читатели2.8K
В новом дайджесте тесты и танцы с ассетами в iOS, собеседование и новые функции в Android, декомпозиция игровой графики, ошибки в мобильном дизайне, время в приложениях и многое другое!

Читать дальше →

Внедряем Snapshot testing в UI-тесты iOS

Время на прочтение7 мин
Охват и читатели17K

Хабр, привет!

Меня зовут Борис. Я AQA iOS-engineer в Vivid Money.

В этой статье я хочу рассказать про snapshot тесты и показать, как их можно эффективно применять в своём проекте.

Данная статья будет полезна начинающим iOS-автоматизаторам, либо разработчикам, которые решили изучить XCUITest и покрыть свой проект ui-тестами.

В рамках статьи мы разберем:

• Что такое snapshot тесты и когда их применять;

• Какие есть библиотеки;

• Поэтапно расскажу и покажу как внедрить их у себя в проекте.

Читать далее

История умалчивает, или Легко ли найти давние сообщения в мессенджере iPhone?

Время на прочтение5 мин
Охват и читатели8.4K


Статья Спенсера Дейли (Spencer Dailey) в переводе звучит так: «Ваш iPhone (и резервные копии в iCloud) полны старых iMessage-сообщений объемом в гигабайты, которые практически невозможно прочитать». Но мы чуть упростили заголовок.
— — — —
У многих владельцев iPhone есть написанные годы назад сообщения iMessage, к которым у них отсутствует доступ. Например, мы с женой просто хотели прочитать первые сообщения, которыми обменивались в 2017 году, но не смогли этого сделать. Одна моя подруга недавно хотела доказать, что у неё было общение с человеком из иммиграционной службы США, и она смогла быстро скачать файл с возможностью поиска. Для этого ей не понадобились сторонние приложения. Но она пользовалась не iMessage, а другим мессенджером.
Читать дальше →

Материалы для мобильных разработчиков с DevDay Mobile

Время на прочтение2 мин
Охват и читатели1.8K

Неделю с небольшим назад прошел онлайн-митап, который будет интересен как опытным iOS- и Android-разработчикам, так и тем, кто только выбирает путь. Два хардкорных доклада и дискуссия о состоянии рынка — под катом в виде записей с таймкодами и презентациями.

Читать далее

Дайджест интересных материалов для мобильного разработчика #402 (12 — 18 июля)

Время на прочтение3 мин
Охват и читатели3.3K
В новом дайджесте тесты и танцы с ассетами в iOS, собеседование и новые функции в Android, декомпозиция игровой графики, ошибки в мобильном дизайне, время в приложениях и многое другое!

Читать дальше →

О дизайн-системе замолвите слово

Время на прочтение10 мин
Охват и читатели7.4K

Практически каждая продуктовая компания рано или поздно приходит к мысли, что неплохо бы перестать раз за разом разрабатывать визуальные компоненты для каждого экрана в отдельности, что нужно подойти к этому вопросу более системно. В частности – сделать свою дизайн-систему. Мы в hh не стали исключением, и в этой статье хотим поделиться нашим собственным опытом разработки дизайн-системы, которая сейчас является общей для двух платформ – Android и iOS. 

Мы поговорим о балансе между хаосом и системой, переиспользовании и дублировании, пройдемся по отношениям между дизайнерами и разработчиками, а также выясним, фронтенд – это только про покраску кнопок или нет?

Если вам удобнее не читать, а смотреть или слушать, то вы можете посмотреть выпуск о дизайн-системе в нашем видео-блоге “Охэхэнных историй”

Читать далее

Тесты в iOS: хороший, плохой, …

Время на прочтение21 мин
Охват и читатели16K

Привет! Меня зовут Андрей Михайлов, я работаю iOS-разработчиком в Циан и отвечаю за внедрение модульного тестирования в процесс разработки. Сегодня я немного расскажу о том, какими свойствами должны обладать хорошие автоматизированные тесты, чем хорошие тесты отличаются от плохих, и для чего на самом деле стоит их писать (не только чтобы находить баги в коде). Это первая статья в серии, посвященной тестированию, она сфокусирована на теории и будет полезна не только iOS-разработчикам.

Добро пожаловать под кат!

Читать далее

Танцы с ассетами

Время на прочтение7 мин
Охват и читатели4.3K

Любят ли ваши дизайнеры использовать изображения так, как любят это делать у нас? Если да, то вам определенно будет интересно как привести в порядок каталог ассетов, сделать его меньше в размере и ускорить компиляцию.

Читать далее

Дайджест интересных материалов для мобильного разработчика #401 (5 июля — 11 июля)

Время на прочтение3 мин
Охват и читатели2.7K
В этой подборке SwiftLint и VSO, панические кнопки и властелины модулей, шутеры без даунтаймов и масштабируемые команды, ускорение билдов, открытый Lumberyard, миллиарды Pokémon GO и многое другое!

Читать дальше →

Пишем плагин Parcelize для компилятора Kotlin под iOS

Время на прочтение7 мин
Охват и читатели4.6K

В этой статье описан мой опыт по написанию плагина для компилятора Kotlin. Моей главной целью было создание плагина под iOS (Kotlin/Native), аналогичного kotlin-parcelize под Android. Дело в том, что в iOS, как и в Android, приложения тоже могут быть убиты системой, а значит, может возникнуть необходимость сохранять стек навигации и другие данные. В результате работы над этой задачей получился kotlin-parcelize-darwin. Подробности о его создании и применении — под катом.

Читать далее

За что мы (не) любим нативную мобильную разработку в 2021: обсуждаем с 2ГИС, Самокатом, Podlodka и CocoaHeads в четверг

Время на прочтение2 мин
Охват и читатели3.7K

Привет! Вечером 8 июля мы проведем открытый онлайн-митап, на котором можно будет послушать о сложностях генерации корректного промежуточного свифтового кода из C++, граблях работы со скрытым системным API в Android, а также обсудить тему "Годзилла против Конга или Нативная разработка vs WebView (и все, что между ними)".

Читать далее

Дайджест интересных материалов для мобильного разработчика #400 (28 июня — 4 июля)

Время на прочтение3 мин
Охват и читатели2.9K
В нашем юбилейном дайджесте фантастические RecyclerView и замена APK на App Bundle, новинки StoreKit 2 и отказ Wrike от Dart, рекордные расходы пользователей, GPT-3 в домашних условиях и многое другое!

Читать дальше →

Как мы переходили с CocoaPods на Carthage

Время на прочтение14 мин
Охват и читатели3.1K

Недавно мы перешли с CocoaPods на другой менеджер зависимостей — Carthage. Оказалось, что у этой простой на первый взгляд задачи много подводных камней. 

Чтобы сменить менеджер зависимостей и не страдать нужны две вещи:

- заранее понимать, какая конечная цель у этой задачи,

- знать, какие подводные камни ожидают на пути.

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

Читать далее

Ближайшие события

Что нового в API StoreKit 2 и как он упростил интеграцию покупок в приложении

Время на прочтение8 мин
Охват и читатели9K

На недавно прошедшем WWDC 2021 представили новую версию StoreKit 2. Это фреймворк, который отвечает за осуществление покупок в iOS. Доля приложений со встроенными покупками и подписками постоянно растёт, и выпустив StoreKit 2, Apple заметно упростил интеграцию покупок в приложение. Сегодня мы рассмотрим работу с StoreKit 2 со стороны сервера, то есть с помощью App Store Server API.

Читать далее

Tuist: Xcode-проект на стероидах

Время на прочтение9 мин
Охват и читатели32K


Стандартное представление Xcode-проекта сложно назвать комфортным для командной работы. Даже в небольших проектах часто возникают merge-конфликты после изменения состава исходников в разных ветках.


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


Да, ограничения Xcode можно победить, но решением в основном является "винегрет" из сторонних инструментов, заправленный собственными Shell или Ruby скриптами, в которых мало кто разбирается.


Но есть куда более изящное и комплексное решение — Tuist. С ним мы и познакомимся в этой статье.

Читать дальше →

Дайджест интересных материалов для мобильного разработчика #399 (21 — 27 июня)

Время на прочтение3 мин
Охват и читатели2.9K
В новом дайджесте окукливание Android и тестирование документации, конкурс Kotlin Heroes и понимание стоимости AWS, осциллограф своими руками и новые открытые карты, акторы, профайлеры, батлрояли и многое другое!

Читать дальше →

Паттерн Observer в Swift

Время на прочтение4 мин
Охват и читатели11K

Всем доброго времени суток. В этой статье речь пойдет о паттерне Observer. Все кто связан с iOS разработкой наверняка сталкивались с инструментами в основе работы которых лежит этот паттерн. Например NotificationCenter, KVO или великий и могучий RxSwift который настолько сейчас популярен. В этой статье я на простом примере разберу принцип работы данного паттерна.

Читать далее

Разработка большого проекта за 6 месяцев: как не облажаться

Время на прочтение8 мин
Охват и читатели7.4K

Я Леша Половинкин, работаю руководителем Python-разработки в AGIMA. Сегодня сказ будет о том, как разработать в очень короткие сроки с нуля классифайд для авто (а попросту огромную доску объявлений с кучей прикрученных к ней сервисов) и совершить те ошибки, которые неизбежны. 

Читать далее

Дайджест интересных материалов для мобильного разработчика #398 (14 — 20 июня)

Время на прочтение3 мин
Охват и читатели2.8K
В этой подборке исследуем StoreKit 2, распознаем лица и позы на Android, улучшаем производительность React-приложений, учим сквирклморфизм и многое другое!

Читать дальше →

За что App Store может отклонить приложение: чек-лист

Время на прочтение6 мин
Охват и читатели11K

App Store — самая строгая площадка для размещения приложений. Ревью проходит дольше и строже, чем у Google Play и Huawei App Gallery. В 2020 году AppStore отклонил миллион приложений, которые публиковались впервые, и миллион апдейтов.

С одной стороны, такая строгая политика — это хорошо: пользователям легче выбрать приложение и быть уверенным, что оно безопасно. Однако для разработчиков это настоящая головная боль.

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

Мы составили чек-лист очевидных и не очень очевидных причин, по которым AppStore отклоняет приложения. В статье раскроем подробнее каждый пункт.

Читать далее