Обновить
39.03
Рейтинг

Разработка под iOS *

Популярная мобильная ОС

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

Unit тесты в Swift (модульное тестирование)

Разработка под iOS *Swift *
Tutorial

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

И всё же, зачем нужны тесты?

Опишу самые, на мой взгляд, важные причины:

– при написании тестов вы продумываете все возможные варианты и ситуации, которые могут произайти в приложении, тем самым тестируете все эти подходы и исключаете возможные ошибки на «проде». Как простой пример: функция, выполняющая математическую операцию, должна выдавать определённый результат, но если посчитать руками, то вы обнаруживаете разницу, от которой можно обезопасится тестами 

– в момент написания нового функционала (либо вы вернулись к проекту через длительный промежуток времени) проще всего  запустить тесты и убедиться в том, что старый функционал по прежнему отрабатывает корректно

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

Читать далее
Рейтинг 0
Просмотры 543
Комментарии 0

Новости

Жизненный цикл UIViewController

Разработка под iOS *Swift *
Перевод

Жизненный цикл View Controller – это начинающаяся с создания последовательность шагов. Приходит создание View Controller со storyboard (выставляем view, button) или из кода.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 974
Комментарии 4

Модуляризация DI в проекте с UDF-архитектурой

Блог компании inDriver Программирование *Разработка под iOS *Разработка мобильных приложений *Swift *

Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-контейнеров. Приятного чтения!

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 656
Комментарии 1

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
Наш новый дайджест за прошедшую неделю с обсуждением уязвимости в iOS, тенями в Android и множеством других материалов.

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.7K
Комментарии 0

Минуточку внимания

«Приложения для засыпания» и акустические стимуляторы мозга: почему они не работают и как сделать чтобы работали

Разработка под iOS *Разработка под Android *Управление персоналом *Мозг Здоровье
Из песочницы

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

Спрос рождает предложение – и вот уже YouTube ломится от разного рода «музык для релаксации», «сеансов гипноза» и «исцеления во время сна 432 Гц». А Google Play и App Store, соответственно, от генераторов белого шума, плееров с треками для засыпания, смарт-будильников, интеллектуальных светильников, сервисов для подсчёта медленноволнового сна и прочего биохакерского мусора. Есть ли в подобных приложениях рациональное зерно? Да. безусловно. Но мы не станем перелопачивать народное творчество в поисках жемчужных зёрен, а начнём с правильной постановки задачи и определения технического облика акустического стимулятора на основе имеющихся гипотез. Ведь правильно поставленный вопрос содержит в себе половину ответа, не так ли?

Читать далее
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 6K
Комментарии 106

Ускоряем прохождение iOS UI-тестов. Часть 2. Распараллеливание тестов

Блог компании Vivid Money Тестирование IT-систем *Разработка под iOS *Swift *Тестирование мобильных приложений *
Tutorial

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

Меня зовут Борис. Я Mobile AQA lead в Vivid Money.

Это вторая статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.

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

В рамках этой статьи мы разберем такие этапы:

- зачем распараллеливать тесты?;

- распараллеливаем тесты, используя Xcode;

- распараллеливаем тесты, используя Fastlane.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 832
Комментарии 5

Как графический формат прошлого века привёл к zero-click exploit в iOS

Блог компании М.Видео-Эльдорадо Информационная безопасность *Мессенджеры *Разработка под iOS *Реверс-инжиниринг *
Перевод

Тема информационной безопасности в сфере интересов команды М.Видео и Эльдорадо, поэтому делимся с вами очередным интересным переводным тематическим материалом. В начале 2022 года Citizen Lab удалось выявить zero-click-эксплойт на основе NSO iMessage, использовавшийся для атаки на активиста из Саудовской Аравии.

В этой серии из двух постов мы впервые расскажем, как работает zero-click-эксплойт iMessage.

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

Рассматриваемая в посте уязвимость была устранена 13 сентября 2021 года в iOS 14.8 в рамках CVE-2021-30860.
Читать дальше →
Всего голосов 102: ↑102 и ↓0 +102
Просмотры 12K
Комментарии 4

Обзор самых полезных приложений для незрячих людей

Разработка под iOS *Разработка под Android *Accessibility *Аналитика мобильных приложений *

Мобильными приложениями сегодня не пользуется разве что ленивый. Однако немногие знают, что некоторые программы – это не просто удобный сервис, но и средство реабилитации для людей с инвалидностью.

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

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

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

Далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.3K
Комментарии 5

Controller, но не Massive: реализуем список карточек для iOS 13+ и 11+ с учетом практик чистого кода

Блог компании Туту.ру Разработка под iOS *Разработка мобильных приложений *
Tutorial

Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.

Примеры можно адаптировать под свои задачи, а все исходники вы найдете в Github-репозитории в конце поста. Поехали!

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 2.2K
Комментарии 0

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В этом дайджесте совершенствуем структуру тестов и мешаем анимироваться слоям, обсуждаем политики Google Play и систему виртуализации в Android, делаем игру мечты, лучшие заметки о выпуске и многое другое!

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.7K
Комментарии 0

Навигация в SwiftUI или NavigationView и его особенности

Разработка под iOS *Swift *
Из песочницы
Tutorial

Первое с чем вы сталкиваетесь при написании мобильного приложения, это переходы с одного экрана на другой и обратно (в случае простого приложения), а так же многоуровневые переходы и моментальный возврат на первый экран (back to root view). Всё это мы разберём на примерах в данной статье, ну а для начала немного углубимся в теорию.

Что такое NavigationView?

Представьте, что перед вами коробка (NavigationView) в которой много мячиков (View) и эти мячики могут соприкасаться друг с другом (переход с View на View) только в рамках этой коробки. 

Но есть так же и случаи, когда внутри коробки, помимо шариков, есть ещё одна коробка поменьше, которая содержит другие маленькие шарики (история про .sheet и .fullScreenCover - модальные окна). Это так же разберём ниже в статье.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 952
Комментарии 4

Погружение в Combine: последовательные и объединяющие операторы для улучшения процесса разработки iOS приложений

Блог компании Usetech Разработка под iOS *Swift *
Tutorial

Добрый день! Я — Иваев Зафар, iOS разработчик в компании Usetech. В этой статье мы узнаем как фреймворк Combine помогает нам разрабатывать функционал приложения с помощью встроенных функций — операторов. В этой статье, мы покроем следующие типы операторов:

1. Последовательные операторы

2. Объединяющие операторы

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.4K
Комментарии 0

Модуляризация доменного слоя в UDF. Часть II

Блог компании inDriver Разработка под iOS *Разработка мобильных приложений *Swift *

В предыдущей части мы рассмотрели, что такое домен и какими принципами можно руководствоваться при его модуляризации. В этой части сконцентрируемся на типах связей между модулями и различиях в проектировании ООП и UDF-кода. Приятного чтения!

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.2K
Комментарии 4

Как UIView мешал слоям анимироваться

Блог компании Skyeng Разработка под iOS *Разработка мобильных приложений *Интерфейсы *Дизайн мобильных приложений *

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

Заодно разберемся с таким понятием, как неявные анимации.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 2.3K
Комментарии 2

Дайджест интересных материалов для мобильного разработчика #431 (7 — 13 февраля)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В новом выпуске ускоряем прохождение UI-тестов и заведуем стейт-машинами, внедряем платежи и готовим открытый API для UWB, разбираем кроссплатформу, перепридумываем иллюстрации, делимся виджетами и многое другое!

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.1K
Комментарии 0

Обновляем контент, не проходя повторное ревью в сторах

Блог компании Туту.ру Разработка под iOS *Разработка мобильных приложений *

Всем привет, я Дима из мобильной команды Туту, мы делаем приложения с 20М инсталлов. Расскажу, как можно быстро добавлять в приложение новый контент и обновлять его, не проходя повторные ревью в сторах. Это нужно, например, когда мы хотим быстро донести до людей коронавирусные ограничения.

Ниже реализация на SwiftUI и Kotlin (но вы можете использовать UIkit и серверный язык, принятый в вашей команде), а в GitHub-репозитории в конце статьи вы найдёте код сервера и приложений для детального изучения.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 3K
Комментарии 4

Раннер Emcee. Всем айосерам по тестовой ферме

Блог компании Авито Open source *Разработка под iOS *Тестирование мобильных приложений *

В iOS-приложении Авито куча UI-тестов — вы это уже наверняка знаете, потому что мы говорим про них постоянно. Это позволяет нам релизиться раз в неделю, причём регрессионное тестирование с ручными проверками мы проводим раз в две недели. Между ними в релиз идёт приложение, которое протестировано только нашими UI- и unit-тестами.

Чтобы поддерживать такие масштабы автотестирования, мы написали тест-раннер Emcee, который умеет скейлиться в ширину по физическим машинкам.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.4K
Комментарии 0

Ускоряем прохождение iOS UI-тестов. Часть 1. Запуск тестов без сборки проекта

Блог компании Vivid Money Тестирование IT-систем *Разработка под iOS *Swift *Тестирование мобильных приложений *
Tutorial

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

Меня зовут Борис. Я Mobile AQA lead в Vivid Money.

Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.

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

В рамках этой статьи мы разберем такие этапы:

- зачем ускорять время прохождения UI-тестов;

- что такое Test runner, и какие они бывают;

- что нужно для прогона тестов без компиляции проекта;

- делимся опытом, как это помогает нам.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.5K
Комментарии 0

Дайджест интересных материалов для мобильного разработчика #430 (31 января — 6 февраля)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашем новом дайджесте приключения белорусских разработчиков в App Store, один iOS-техрадар и несколько трендов Android-разработки 2022, игра мечты, автоматическая модерация сообщений и многое другое!

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.9K
Комментарии 0

4,5 года из жизни iOS-команды в пяти историях и одном техрадаре

Блог компании Туту.ру Разработка под iOS *Разработка мобильных приложений *Управление разработкой *

Как мы шли к одной архитектуре, чтобы прийти к нескольким. Как режем большое приложение, чтобы у каждой фича-команды была комфортная зона ответственности. И что и у кого мы подсмотрели, чтобы писать хорошие тесты. Часть решений может шокировать. Поехали!

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 3.1K
Комментарии 5

Вклад авторов

Работа

iOS разработчик
98 вакансий
Swift разработчик
133 вакансии