Обновить
42.65

iOS *

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

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

Swift 5.10

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели1.1K

Это минорное обновление языка перед мажорным переходом на Swift 6, которое сосредоточено в основном на устранение проблем с data race при компиляции.

Читать далее

Введение в тестирование на Swift Testing

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели5.6K

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

Читать далее

Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.3K
image

Согласно политике Apple, компания чётко разграничивает время жизни тех или иных версий iOS. Обычно, уже через 3-4 года определенная версия iOS считается устаревшей и публиковать новые версии приложений с её поддержкой больше нельзя. Однако в ходу всё ещё «старые», но по настоящему трушные и любимые многими «пятёрки», «четвёрки», а среди коллекционеров — и «тройки»! Способ, о котором я расскажу в статье, раскопали ещё «олды», однако он позволяет запускать и отлаживать «хоумбрю» приложения на старых айфонах, потенциально принося им новую жизнь с кастомными приложениями! Интересно? Тогда добро пожаловать под кат!
Читать дальше →

Некорректная валидация UI при работе с файловой системой: что может пойти не так и как это починить

Время на прочтение3 мин
Охват и читатели896

Привет, Хабр. Меня зовут Александр Пиманов, я ведущий iOS-разработчик в МТС Диджитал. Сегодня расскажу о простой (как мне сначала показалось) задаче — нужно было свалидировать UI в зависимости от того, есть в файловой системе файл с логами или нет. Я быстро с ней справился, но тут возникла проблема: на моем устройстве валидация работала, а на некоторых чужих — нет. Чтобы понять причину, я перепробовал, кажется, все. Как мне удалось найти проблему и как мы ее решали, рассказываю в статье.

Читать далее

Как в 2024 выложить приложение в Apple Store и Google Play

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели17K

Публикация приложений в сторах сейчас непростой процесс. Из-за санкций появилось много неизвестности с регистрацией и оплатой аккаунтов. При этом информация о том, как решить те или иные проблемы в этом процессе, которая есть в интернете, противоречива. Так как я этот процесс недавно успешно прошел, делюсь инструкцией, как в 2024 выложить приложение в App Store и Google Play.

Я занимаюсь мобильной разработкой начиная с 2015 года, прошел путь от рядового разработчика до позиции Technical Product Owner в компании Выберу.ру.  Для меня процесс регистрации в сторах — это типовая задача, но санкции добавили несколько нюансов. Эта статья представляет роадмап по публикации приложения с советами и рекомендациями для ускорения этого процесса.

Читать далее

Мобильная разработка за неделю #542 (10 — 16 июня)

Время на прочтение4 мин
Охват и читатели1.2K
В очередной подборке оцениваем результаты WWDC и Apple Intelligence, тащим GeckoView в Почту и оцениваем ошибки ChatGPT, рассказываем про самые скачиваемые и зарабатывающие приложения в России в мае 2024, ломаем бинарный код и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

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

CI/CD заказывали? Или простое, но подробное руководство по настройке CI/CD под несколько iOS проектов

Уровень сложностиПростой
Время на прочтение29 мин
Охват и читатели6.3K

Привет, меня зовут Дмитрий, и я iOS разработчик в компании Triada. В этой статье я расскажу, как настроить CI/CD для вашего iOS приложения, и приведу пошаговую инструкцию, как сделать это правильно с первого раза – чтобы не пришлось переделывать.

Мы настроим CI/CD для iOS проекта с репозиторием на GitLab с использованием Fastlane. Сборки будем отправлять в Testflight и в Firebase, если он у вас используется.

Читать далее

SwiftUI и MVI

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели1.6K

UIKit впервые появился в iOS 2 и до сих пор остаётся с нами. Со временем мы привыкли к нему и научились с ним работать. Мы нашли различные архитектурные подходы, и MVVM стал самым популярным, на мой взгляд. С выходом SwiftUI, MVVM ещё больше укрепил свои позиции, в то время как другие архитектуры не очень хорошо себя чувствую на SwiftUI.

Однако архитектуры, которые, казалось бы, не могут быть использованы со SwiftUI, возможно адаптировать к SwiftUI, и они даже могут быть удобнее, чем MVVM.

Я хочу рассказать об одной из таких архитектур — MVI

Читать далее

Виды логирования в Swift

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.8K

Привет! Меня зовут Владислав Даниелян, я iOS-разработчик в AGIMA. Предлагаю немного поговорить о принтах. Это одна из первых и наиболее используемых функций, с которой начинаются первые шаги в разработке у любого новичка:

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

Читать далее

Искусственному интеллекту – быть! Какие обновления представила Apple на WWDC 2024

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели1.7K

Значительную часть летней конференции Apple уделила внедрению искусственного интеллекта в свои устройства и традиционно рассказала об обновлениях операционных систем своих устройств. Технический директор CleverPumpkin Александр Кияйкин внимательно посмотрел презентацию и поделился главными новостями, которые нельзя пропустить.

Читать далее

WWDC 2024. Обсуждаем, что по факту

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.2K


Всем привет! С вами снова я, Анна Жаркова, руководитель группы разработки в ГК Usetech. 10 июня прошел долгожданный Keynote WWDC 2024. Прошел и оставил после себя легкий флер разочарования. Заявлено было много, показано много. Какие-то новинки (например, функция Mirroring для трансляции изображения и звука с iPhone на десктоп) вызвали одобрение аудитории, как полезные и нужные. Другие (например, настройка визуального оформления домашнего экрана, общая тема для иконок и то, как это реализовано) оставили многих в недоумении. Да, много полезного, но из-за того, что ожидания от анонса разошлись с действительностью, это меркнет на общем фоне.

Еще больше недоумения вызвал функционал Apple Intelligence. И даже не то, что какие-то вещи были показаны довольно скомкано. Разочарование вызвало 2 момента: дата выхода инструментария и отсутствие тематических сессий:



Были анонсированы и «умные» тулзы для Xcode, и встроенный ChatGPT. Но как этим пользоваться, как встраивать, как с этим работать, такой информации напрямую нет. Она частично размазана по сессиям по вспомогательным технологиям. Из них и будем черпать знания.

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

WWDC 2024. Чем удивляют разработчиков

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.1K

Привет! На связи KTS и наш эксперт по iOS-разработке Александр.

10-го июня в 20:00 по Москве стартовала ежегодная конференция для разработчиков Apple WWDC 2024. Рассказываю в статье про основные новости с сессии мобильной разработки:

— Интеграция искусственного интеллекта Apple Intelligence (AI) во всю экосистему.
— В iOS 18 добавлено плавающее размещение иконок и автоматическое затемнение в темной теме, обновлен центр управления и приложение «Фото» (аналогично — и в iPadOS 18).
— VisionOS 2 получил конвертацию фото в 3D и SharePlay, а сам Apple Vision Pro выходит в 8 новых странах позже этим летом.
— AirPods Pro теперь распознают жесты, а Apple TV определяет актеров и музыку с помощью функции InSight.
— В watchOS 11 внедрили приложение Vitals для мониторинга здоровья. macOS Sequoia поддерживает зеркалирование iPhone и ИИ в Safari.

Читать далее

iOS-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3K

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

Читать далее

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

Мобильная разработка за неделю #541 (3 — 9 июня)

Время на прочтение4 мин
Охват и читатели1.2K
В нашем новом выпуске исследуем рынок работы для iOS-разработчиков, использование ИИ и кроличьи норы оптимизации, погружаемся в мир Lint-a, строим BDUI, определяем рынок мобильных приложений в 1 квартале 2024 года и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

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

SwiftUI уроки (часть 14)

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

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

Читать далее

WWDC 2024. Прогнозируем, что ждет разработчиков

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.3K


Всем привет! С вами снова я, Анна Жаркова, руководитель группы разработки из компании Usetech. Совсем скоро нас ждет неделя тематических сессий по технологиям WWDC от Apple, а это значит, что самое время составлять список того, что может быть продемонстрировано из новинок, и что хотелось бы увидеть больше всего. Затем сравним свой вишлист с анонсами.

Итак, начнем. С новинок прошлого года.

Развитие новинок прошлого года


В прошлом году Apple посвятили большую часть сессий своей новинке – умным очкам VR/AR, работающим на Vision OS, а также технологиям для разработки соответствующих приложений: ARKit/VRKit, Core/Metal и т.п. Разумеется, много было и различных кодлабов и воркшопов по работе с SDK и VisionOS. Затем был запущен маркет соответствующих приложений. В этом сезоне ожидаем больше оптимизированных фирменных приложений Apple, а также функцию отслеживания дыхания и поддержку стилуса Pencil Pro, представленного ранее. Ожидаем крупное обновление Vision Pro, которое включит в себя более мощную функцию Live Captions, с поддержкой генерации субтитров всех окружающих диалогов в поле зрения пользователя. И очень важно: новое обновление, вероятно, будет включать в себя поддержку и интеграцию с Искусственным интеллектом.
Читать дальше →

GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.5K

Мы выпускаем обновления приложений Lamoda минимум 4 раза в месяц. С каждым обновлением идут серьезные изменения: новые продукты, внедрение ML-моделей и так далее. У нас налажен процесс тестирования нового кода, но есть нюанс: проверять перед релизом нужно не только новую функциональность, но и базовые возможности приложения, чтобы убедиться, что они работают корректно и ничего не сломалось. 

На проверку базового функционала уходит куча времени QA. Поэтому мы создали автоматические UI-тесты. Они автономно проверяют базовые функции и помогают снизить нагрузку на тестировщиков.

Но приложение постоянно растет, а с ним должно расти и тестовое покрытие. Главная сложность здесь — количество тестов, которое приходится писать. Когда у меня появилась задача написать очередную партию тестов, я сразу подумал о том, что мне нужна помощь. Меня зовут Марк, я iOS-разработчик из Lamoda Tech. В этой статье я расскажу, как использовал LLM для написания UI-тестов, и сравню результаты ChatGPT и Copilot.

Читать далее

Mobius 2024 offline. День второй

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

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

Вот и вторая часть репортажа о конференции Mobius 24.

День начался сразу с первого доклада и теперь просторный зал Альфа принадлежал андроидам, в отличие от вчерашнего дня)

Multiplatform UI with Compose
Алексей Гладков

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

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

Мы посмотрели, как удобно реализовать архитектуру и навигацию в проекте, который будет собираться под разные платформы, какие common-компоненты лучше выделить. Хороший совет продумать обработку keyboard shortcut-ов для улучшения UX пользователей десктопа, и Compose Multiplatform даёт такую возможность.

Понравилась идея использовать репозиторий с Flow настроек приложения (AppSettings), чтобы слушать изменения и оперативно отрисовывать UI.

В проекте Compose Multiplatform Wizard можно найти весь актуальный на даный момент стек библиотек, единственное, он обновляется очень часто, примерно раз в неделю.
Общие советы, которые дал нам Алексей: смотреть на разные форм-факторы дисплеев, по возможности проектировать абстрактные экраны, рассматривать компонент экрана как контейнер, что близко к устройству супераппа. И, конечно, толкать дизайнеров, чтобы заранее продумывали UI под разные платформы :-)

Презентация

Читать далее

Как мы строили BDUI: опыт Яндекс Маркета

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

Привет! Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.

Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат. 

Читать далее

Делаем нативное мобильное приложение с ИИ и бэкендом (Туториал)

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели4.2K

В этой статье мы рассмотрим тонкости создания Proof of Concept (PoC) мобильного приложения, построенного с помощью фреймворка SwiftUI и бэкенда с использованием FastAPI и OpenAI API. Дополнительно я продемонстрирую эффективные архитектурные паттерны для SwiftUI-приложений, в частности MVVMP в сочетании с принципами SOLID и Dependency Injection (DI). Для андроид код можно легко перевести на Kotlin с помощью Jetpack Compose Framework.

Читать далее