Swift Tips @swift_tips Channel on Telegram

Swift Tips

@swift_tips


Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

По всем вопросам: @artemiygreg
Найти проект: @ios_job

Swift Tips (Russian)

Swift Tips - это канал, который предлагает ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift. Если вы разработчик или просто интересуетесь программированием на iOS, то этот канал для вас! Здесь вы найдете полезные советы и трюки, которые помогут вам стать более успешным разработчиком.

Если у вас есть какие-либо вопросы, вы всегда можете обратиться к администратору канала по имени @artemiygreg. Он всегда готов помочь вам с любыми техническими вопросами или проблемами, с которыми вы столкнулись при работе с iOS и Swift.

Кроме того, если вы ищете работу в области iOS разработки, вы можете найти интересные проекты и вакансии, следуя ссылке @ios_job. Возможно, ваше идеальное рабочее место ждет именно вас! Присоединяйтесь к каналу Swift Tips сегодня и узнавайте новые и полезные советы каждый день!

Swift Tips

03 Jan, 22:25


С Новым годом, друзья!!! 🎄🥳🥂

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

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

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

P.S. Обычно принято писать такие посты в конце года, но у меня в этом году получилось вот так (зато не как у всех 😉)

P.S.S. Если вдруг салаты ещё не доели – уже всё, можно выбрасывать, срок годности закончился)

Swift Tips

24 Dec, 07:30


Открытый урок: Навигация на SwiftUI без UIKit

Хотите создавать приложения с нативной навигацией и современными подходами? Узнайте, как это сделать на бесплатном вебинаре! 🚀

Что вас ждёт на уроке:

- Разберём навигацию в проектах на SwiftUI.
- Научимся писать приложение с нативной навигацией на SwiftUI с поддержкой iOS 14, используя OpenSource-решения и авторские разработки.
- Изучим интеграцию диплинков в проект в декларативном стиле.

👨‍💻 Кому будет полезно:
Разработчикам с базовым или продвинутым опытом работы со SwiftUI.
Тем, кто хочет создавать нативные приложения с современными подходами.
Тем, кто работает с iOS 14+ и ищет универсальные решения для проектов.

⭐️ Спикер: Сергей Балалаев — опытный разработчик iOS-приложений и эксперт по SwiftUI.

Когда: 26 декабря в 20:00 (мск).

🎓 После вебинара вы сможете:
- Реализовывать навигацию на чистом SwiftUI.
- Интегрировать поддержку для iOS ниже 16 с помощью современных решений.
- Создавать профессиональные приложения с нативной навигацией, соответствующей современным стандартам.

👉 Участвуйте бесплатно, зарегистрируйтесь по ссылке.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, Erid: 2W5zFJLbHRr

Swift Tips

22 Dec, 21:33


Mastering Forms in SwiftUI

Цикл из трёх статей, про нативные компоненты для работы с формами ввода данных в SwiftUI.

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

🔵Creating and Styling
🔵Selecting Information
🔵Text Fields

❗️ Некоторые модификаторы доступны с iOS 15, 17, 18.

Swift Tips

16 Dec, 20:52


Как собрать и внедрить высоконагруженный модуль. Опыт Звука

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

Читать (Ru)

Swift Tips

05 Dec, 17:59


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

Небольшая статья про организацию асинхронной работы в iOS-приложениях.

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

Читать (Ru)

Swift Tips

30 Nov, 08:01


Дебаг на максимум: секретные настройки Xcode, которые должен знать каждый разработчик

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

🟢Что такое CPU и GPU и с чем их едят
🟢Blended Layers — cмешанные слои
🟢Copied Images: избавляемся от скопированных изображений
🟢Выравниваем изображения Misaligned Images
🟢Внеэкранная отрисовка Offscreen Rendering
🟢Тени
🟢Маски
🟢Visual Effects

Читать (Ru)

Swift Tips

26 Nov, 23:33


SwiftUI Cookbook • Localization & Internationalization in SwiftUI

Welcome to the Localization & Internationalization in SwiftUI section! This part of the guide is dedicated to helping you make your SwiftUI applications accessible and user-friendly for a worldwide audience.

• Create a Localized String in SwiftUI
• Display the User's Language in SwiftUI
• Master String Interpolation in SwiftUI Localization
• Localize a Date in SwiftUI
• Localize Numbers in SwiftUI
• Test Your Localized SwiftUI App
• Localize Images in SwiftUI
• Use RTL (Right to Left) Languages in SwiftUI
• Localize Accessibility Labels & Hints in SwiftUI
• Support Dynamic Type for Multilingual Text in SwiftUI

← Предыдущая часть

Читать (En)

Swift Tips

22 Nov, 06:45


Swift TaskGroup на примерах

В этой статье подробно рассматривается сущность под названием TaskGroup, как с ней работать и чем она отличается от Task и async let.

На примере сравниваются аналогичные реализации с и без TaskGroup и разбираются некоторые (не для всех очевидные) моменты при работе с данной сущностью.

🟢Structured concurrency
🟢Сетапим окружение для примера
🟢Реализуем загрузку N изображений (без TaskGroup)
🟢Загрузка N изображений через TaskGroup
🟢Нюансы при работе с TaskGroup
🟢Итоги
🟢Полезные ссылки

Читать (Ru)

Swift Tips

21 Nov, 22:11


Detecting faces in images with the Vision framework

Пример реализации распознавания лиц на изображениях с помощью фреймворка Vision.

Читать (En)

Swift Tips

20 Nov, 06:45


Ваше приложение на iOS отлично работает, но хочется большего? Добавить функции, которые удивят пользователя?

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

Вы уверенно используете coreML, createML и Vision, чтобы интегрировать модели машинного обучения прямо в iOS. Технологии, которые вы видели только в топовых приложениях, теперь становятся вашими!

Хотите узнать, как это реализовать? Приходите на открытый урок «Machine Learning в iOS», который состоится 26 ноября в 20:00 мск. Опытный специалист покажет, как обучить нейронную сеть с помощью createML и использовать coreML и Vision для iOS. Для участников — скидка на участие в курсе «iOS Developer. Professional».

🎁 Присоединяйтесь и получите скидку до 15% на участие в курсе «iOS Developer. Professional»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, Erid: LjN8KF3nE

Swift Tips

19 Nov, 15:51


Об анатомии крэшей на iOS «по-взрослому»

Большая статья, в которой рассказывается, как устроены крэши в iOS, откуда они берутся и как с ними взаимодействовать.

Читать (Ru)

Swift Tips

15 Nov, 10:05


Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск

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

Читать (Ru)

Swift Tips

14 Nov, 06:17


Creating view transitions in SwiftUI

Статья про анимации переходов между view в SwiftUI, с детальным разбором и примерами кода различных эффектов.

Читать (En)

Swift Tips

13 Nov, 16:08


Understanding actors in Swift

В статье рассказывается как работают акторы в Swift и как их использовать для предотвращения data races при работе с concurrency.

🟢How do Swift actors prevent data races?
🟢Defining an actor
🟢Using async/await to access data from an actor
🟢Actor isolation
🟢Actor's non-isolated declarations
🟢Handling thread safety with Sendable types
🟢Actor reentrancy

Читать (En)

Swift Tips

12 Nov, 09:12


Task и structured concurrency в Swift

В этой статье подробно рассматривается сущность под названием Task и показывается на примерах, как с ней работать.

А также затрагивается structured concurrency: что это такое, как это понятие связано с Task и почему механизмы языка async/await structured, но не concurrent.

🟢Task
🟢Structured concurrency
🟢Task hierarchy
🟢Task cancellation
🟢Итоги
🟢Полезные ссылки

Читать (Ru)

Swift Tips

11 Nov, 13:00


Приглашаем на митап для бэкенд-разработчиков от Еком-сервисов Яндекса
В Минск приехал Яндекс Foodtech Tour — серия митапов в столицах, на которых эксперты Еды, Лавки и Маркета рассказывают о внутренней кухне разработки сервисов. В каждом городе своя ключевая тема, и в Минске спикеры расскажут о core-технологиях, лежащих в основе работы продуктов. Митап пройдет 7 декабря.

Программа насыщенная:
👉 Доклады о BDUI и ускорении разработки. Никита Шумский из Еды расскажет об особенной инфраструктуры Еды, различиях классического и мобильного бэкенда и преимуществах BDUI. Ваня Ходор из Лавки поделится кейсом ускорения разработки, причем не скорости работы кода, а его написания.
👉 CaseLab о мультизаказе в Еде. Это интерактивный формат, в котором участники разбирают реальный кейс из работы сервиса, предлагают решение и получают фидбек от экспертов Яндекса.
👉 Нетворкинг и afterparty

Будет интересно — зовите друзей и регистрируйтесь!

Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.

Swift Tips

11 Nov, 10:47


SwiftUI Cookbook • Accessibility in SwiftUI

Welcome to the Accessibility in SwiftUI section. Inclusive design ensures that your apps are usable by as many people as possible. This part of the guide is all about making your SwiftUI applications accessible and user-friendly for all, including users with disabilities.

• Responding to Dynamic Type in SwiftUI for Accessibility
• Add VoiceOver to SwiftUI Views
• Make SwiftUI Images Accessible with Descriptions
• Describe SwiftUI View Values for Accessibility
• Add Custom Accessibility Content in SwiftUI Views
• Implementing Dark Mode Accessibility in SwiftUI
• Add Custom Accessibility Actions to SwiftUI Views
• Control Activation Points for Accessibility in SwiftUI
• Tailor VoiceOver Speech Properties in SwiftUI
• Navigate with Accessibility Rotors in SwiftUI

← Предыдущая часть | Следующая часть →

Читать (En)

Swift Tips

09 Nov, 09:13


App Intents: новые возможности для разработчиков в iOS 18

Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.

🟢Что такое App Intents
🟢Как создать AppIntent? (Intent)
🟢Пример Intent
🟢Пример AppEntity
🟢Что такое Shortcuts
🟢Shortcuts как составляющая часть фреймворка AppIntents
🟢Shortcuts как приложение
🟢Гайдлайн от Apple по созданию App Intents
🟢Открытие приложения при работе с App Intents
🟢Практика
🟢Новые фишки AppIntents, которые могут быть полезны
🟢Обновления для разработчиков
🟢UnionValue
🟢Generated titles
🟢Framework improvements
🟢Вывод

Читать (Ru)

Swift Tips

08 Nov, 19:29


Implement blurring when multitasking in SwiftUI

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

Читать (En)

Swift Tips

07 Nov, 14:16


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

Ближайшее мероприятие:

• 30 ноября – 1 декабря — для Android- и iOS-разработчиков, офер за 2 дня в команды Карт и Рекламы.

Зарегистрироваться

Swift Tips

07 Nov, 06:45


Prevent screenshot capture of sensitive SwiftUI views

Пошаговый гайд с примерами кода, как запретить создание скриншотов в SwiftUI для экранов с конфиденциальной инфой.

Читать (En)

Swift Tips

03 Nov, 21:40


Swift async / await на примерах

В статье подробно рассматриваются ключевые слова async/await, их принцип работы и что означает "неблокирующее ожидание".

🟢Что такое swift async/await
🟢Пример – Async/await. Http запрос
🟢Пример – Async computed property. Загрузка изображения
🟢Пример – Async let. Одновременная загрузка двух изображений
🟢Пример – AsyncSequence. Отображение процента загрузки изображения
🟢Пример – AsyncStream. Перенос логики загрузки изображения
🟢Итоги
🟢Полезные ссылки

Читать (Ru)

Swift Tips

02 Nov, 12:00


Продавайте рекламу в приложении выгодно и зарабатывайте больше 🔝

Чем лучше условия рекламной сети — тем выше доход разработчиков. Недавно Рекламная сеть Яндекса добавила поддержку приложений на React Native, их теперь можно монетизировать наравне с Android, iOS, Unity и Flutter.

Почему советую РСЯ, а не другую рекламную сеть:

👉 Простая интеграция рекламного SDK;
👉 Круглосуточная поддержка;
👉 Больше 300 000 прямых рекламодателей;
👉 Заполняемость рекламных блоков до 100%;
👉 Регулярные выплаты.

А ещё у Яндекса своя платформа медиации, которая позволяет показывать самые выгодные объявления из нескольких рекламных сетей. Чем выше конкуренция среди рекламодателей, тем выше ваш доход!

Узнать больше и подключиться к РСЯ можно по ссылке.

Swift Tips

01 Nov, 18:45


Faster iOS Networking with Shared Dictionary Compression

И ещё одна статья в догонку про Networking, а именно про то, как с помощью Shared Dictionary Compression ускорить сетевое взаимодействие.

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

Читать (En)

Swift Tips

01 Nov, 11:00


The perfect iOS networking layer

Несколько больших статей на тему создания модульного, расширяемого и тестируемого сетевого слоя в iOS.

Первая часть про проектирование API-клиента(запросы, кейсы использования, авторизация, логгирование), вторая часть – модульные и интеграционные тесты.

• Part 1
• Part 2

Swift Tips

31 Oct, 18:54


Objective-C не кусается: как перестать бояться Legacy и стать настоящим iOS-ниндзя

Большая статья от Сергея Гнатюка на тему использования старых технологий в iOS-разработке, таких как Objective-C и являются ли такие технологии легаси.

🟢Статистика использования языков
🟢Историческая справка
🟢Сильные и слабые стороны
🟢Совместимость
🟢Миграция
🟢Рекомендуемые материалы для расширения кругозора
🟢Заключение

Читать (Ru)

Swift Tips

31 Oct, 11:03


🎯Современные iOS-приложения требуют максимальной производительности и скорости отклика, и без многопоточности тут не обойтись.

Подключайтесь к конференции Podlodka iOS Crew с 11 по 15 ноября, чтобы узнать о последних нововведениях и подходах.

Сессии проходят утром и вечером – удобно для любого графика!

В программе:
- Разбор actors и executors с Евгением Ёлчевым: как они работают и могут ли заменить старые подходы ⚙️
- Как управлять асинхронным MVVM в UIKit и SwiftUI с Ильей Харламовым 🎛
- Воркшоп по синхронизации с Александром Игнатьевым: как решить проблему отсутствия нужных Lock'ов в iOS🔒
- Не забудем про старые, проверенные инструменты: Дмитрий Куркин разберет, как GDC всё еще помогает решать задачи, с которыми не всегда справляется Swift Concurrency.🔄

👉 Присоединяйтесь к Podlodka iOS Crew и получайте знания, которые можно сразу внедрять в проекты!

А промокод ios_crew_14_Zd8Wxc сообщества даёт скидку еще в 500 руб🥳

Swift Tips

29 Oct, 11:18


Корзина в Додо Пицце на iOS 14: баг длиной в полгода

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

Читать (Ru)

Swift Tips

28 Oct, 19:27


iOS Performance Optimization

Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.

🟢Reduce App Size
🟢Reduce Build time
🟢App Launch time
🟢App Runtime
🟢App Hang
🟢Memory usage
🟢CI

GitHub → iOS-Performance-Optimization

Swift Tips

28 Oct, 06:37


Многопоточность в iOS — настоящий лабиринт

Постоянные сложности с синхронизацией, запутанные GCD-задачи, и, конечно, бесконечная головная боль с поддержкой стабильной работы приложений.

Представьте, что все эти проблемы решены. Вы уверенно используете Actor и async/await для управления потоками, легко синхронизируете задачи и мигрируете с GCD на новые, более простые и эффективные подходы. Ваш код становится чище, а производительность приложений — выше.

На открытом вебинаре 5 ноября в 20:00 мск мы разберем, как структурированная многопоточность с Actor и async/await упрощает работу iOS-разработчика.

Присоединяйтесь и получите ценные знания для практики, а также скидку на обучение на курсе «iOS Developer. Professional».

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, Erid: LjN8KHpRd

Swift Tips

27 Oct, 10:45


iOS 18 для разработчиков: Ключевые изменения в UIKit

Большая статья с обзором нововведений и самых интересных обновлений UIKit в iOS 18 — новый TabBar, анимации, совместимость UIKit/SwiftUI и т.д..

🟢Сравнение кода в iOS 17 и iOS 18
🟢Новый TabBar в iPadOS 18
🟢Плавные переходы (fluid transitions)
🟢Animations
🟢Gesture recognizers
🟢Automatic trait tracking
🟢List environment trait
🟢UIUpdateLink
🟢Symbol animations
🟢Sensory feedback
🟢Text improvenments
🟢Writing Tools support

Читать (Ru)

Swift Tips

26 Oct, 12:34


SwiftUI Cookbook • Building for Multiple Platforms with SwiftUI

Welcome to the Building for Multiple Platforms with SwiftUI section. SwiftUI’s power lies in its ability to seamlessly work across all Apple platforms. This part of the guide aims to give you the confidence and know-how to create SwiftUI apps that are truly multiplatform.

• Create a macOS App with SwiftUI
• Create a watchOS App with SwiftUI
• Create an iOS & iPadOS App with SwiftUI
• Create a tvOS App with SwiftUI
• Create Multiplatform Components in SwiftUI
• Write Platform-Specific Code Using Conditional Compilation
• Import Platform-Specific Frameworks Using Conditional Compilation
• Adapt SwiftUI Layouts for Various Screen Sizes
• Test Your SwiftUI App on Different Devices & Platforms
• Use App Extensions in SwiftUI

← Предыдущая часть | Следующая часть →

Читать (En)

Swift Tips

24 Oct, 20:48


iOS Developer Toolset to boost productivity

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

🟢Types / Models Generator
🟢Gitignore Generator
🟢Sequence Diagram Generator
🟢Frameworks Availability Checker
🟢Device Resolution Checker
🟢Constraints Errors Translator
🟢Xcode Tips
🟢Proxyman
🟢Charles

Читать (En)

Swift Tips

24 Oct, 06:45


erid:2VtzquhZPCg
Как устроена работа ИТ-специалистов в Т-Банке?

Загляните в канал T-Crew — тут показывают будни команды и делятся полезным:

— Дайджесты вакансий, регистрация на fast track и приглашения от руководителей.
— Анонсы мероприятий. Например, когда пройдет следующий ИТ-каток, ИТ-пикник и другие нашумевшие ивенты.
— Кейсы, статьи и лайфхаки для работы — от методов планирования до карьерного роста.

Почитать и подписаться можно тут

Swift Tips

22 Oct, 06:30


Осторожно, Combine! Откуда берутся утечки памяти, потеря эвентов, нестабильность операторов и что с этим всем делать

Большая статья, в которой разработчик из Яндекс Диска делится опытом внедрения Combine и рассказывает как исправляли проблемы, с которыми столкнулсь.

🟢Как решали проблему потокобезопасности
🟢Как исправить потерю деманда и утечки памяти
🟢Как не терять эвенты
🟢Как решали проблемы со стандартным шедулером
🟢Что делать, если нельзя полагаться на стабильность дефолтных операторов
🟢Отсутствие какого-либо дебага
🟢Отсутствие большинства важных операторов

Библиотека с фиксами из статьи → CombineKit

Читать (Ru)

Swift Tips

16 Oct, 10:04


Profiling apps using Instruments

Apple выпустила новую серию туториалов по использованию Instruments для анализа производительности, ресурсов и поведения приложений.

• Getting started with hang analysis
• Identifying a hang
• Analyzing main thread activity
• Determining execution frequency
• Reducing main thread work by doing less
• Executing work asynchronously
• Understanding synchronous and asynchronous hangs
• Ensuring work executes on a background thread

Читать (En)

Swift Tips

15 Oct, 17:40


Open SwiftUI Animations

Репозиторий с реализациями большого количества разнообразных анимаций на SwiftUI.

GitHub → Open SwiftUI Animations

Swift Tips

14 Oct, 20:47


Как зеленый Леруа Мерлен стал желтым Лемана ПРО

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

Статья про то, как делали ребрендинг мобилок из Леруа Мерлен в Лемана ПРО.

👉 Цвета
👉 Картинки
👉 Название
👉 Lottie анимации

Читать (Ru)

Swift Tips

05 Oct, 08:01


Как ускорить запуск iOS-приложения в 2 раза с помощью Network Instrument

Миша Рубанов (Head of Mobile в Dodo Engineering) рассказывает, как они оптимизировали сетевой слой и ускорили время запуска iOS-приложения в 2 раза с помощью Network Instrument.

Читать (Ru)

Swift Tips

03 Oct, 12:46


50 терминов системного дизайна, которые должен знать каждый разработчик

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

Читать (Ru)

Swift Tips

01 Oct, 15:54


Основы BDUI для продуктовых дизайнеров. Шпаргалка

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

👉 В чём суть BDUI, и чем он отличается от классического подхода к разработке
👉 Что такое контракт экрана, контракт компонента, и как с ним работать дизайнеру
👉 Как дизайнеру читать JSON

Читать (Ru)

Swift Tips

21 Sep, 07:48


Как следить за состоянием мобильного приложения?

Разработчик из Циан рассказывает, как они создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»

👉 Какую проблему решаем
👉 Понятия технических метрик
👉 Технический инструментарий
👉 Устройство кластера телеметрии в Циан
👉 Реализация телеметрии в мобильных приложениях
👉 Создание метрики
👉 Что мерить?
👉 Сбор данных
👉 Построение графиков
👉 Настройка алертов
👉 Расследование проблем
👉 Вывод

Читать (Ru)

Swift Tips

20 Sep, 23:10


Готовый компонент UI свайп-панели c добавлением scrollView, и других элементов ui

ContainerController компонент UI пользовательского интерфейса. Это копия свайп-панели из приложения AppleMaps

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

GitHub → ContainerController

Читать (Ru)

Swift Tips

19 Sep, 06:32


Concurrency Step-by-Step: A Network Request

Подробная статья с разбором основных концепций Concurrency в Swift, на примере загрузки изображения из сети.

Читать (En)

Swift Tips

18 Sep, 06:33


SwiftUI Cookbook • Adding Audio & Video in SwiftUI

Welcome to the Adding Audio & Video in SwiftUI section. Here, you’ll learn how to enhance your SwiftUI applications with immersive multimedia experiences. Whether you’re creating a music player, a movie streaming app, or adding aural feedback to your interfaces, this part of the guide has got you covered.

• Create an Audio Player in SwiftUI
• Create a Video Player in SwiftUI
• Customizing Audio & Video Playback in SwiftUI
• Playing Audio & Video in the Background
in SwiftUI
• Recording Audio & Video in SwiftUI
• Adding Sound Effects in SwiftUI
• Implementing Video Streaming in SwiftUI
• Creating Animated Visualizations for
Audio & Video in SwiftUI
• Adding Captions & Subtitles to Videos in SwiftUI
• Handling Errors & Exceptions While Playing
Audio & Video in SwiftUI

← Предыдущая часть

Читать (En)

Swift Tips

17 Sep, 10:54


Deeplink URL handling in SwiftUI

Полезная статья с примерами кода про обработку диплинков в SwftUI.

🟢What are deeplinks?
🟢Configuring your app for deeplinks
🟢Handling incoming deeplinks
🟢Using deeplinks for other scenarios
🟢Test opening URLs in the Simulator
🟢Considering security

Читать (En)

Swift Tips

14 Sep, 13:21


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

iOS-разработчик из МойОфис делится опытом организации командного обучения SwiftUI, подходами и лайфхаками, которые упростят жизнь тимлидов и менторов при подготовке учёбы для айтишников.

👉 С чего всё началось
👉 Зачем нам понадобился новый UI-фреймворк и чего хотел бизнес?
👉 Проблемы
👉 Принципы обучения
👉 Как проходили занятия
👉 К чему мы пришли и какие задачи закрыли
👉 А дополнительные плюшки?
👉 И снова немного о проблемах
👉 Итоги

Читать (Ru)

Swift Tips

12 Sep, 22:43


Swift Testing: Validate your code using expressive APIs

Вводная статья с примерами, про написание тестов с использованием нового Swift Testing framework.

🟢Writing tests using Swift Testing
🟢Organizing tests in Swift Testing
🟢Taking a closer look at the #expect macro
🟢Migrating existing XCTests to Swift Testing

Читать (En)

Swift Tips

11 Sep, 06:46


BDUI: удовольствие или боль

Большой материал, в котором разработчик из Циан делится реальным опытом разработки собственного BDUI решения и рассказывает о нюансах, благодаря которым удалось извлечь выгоду из этой концепции.

🟢Как мы пришли к BDUI
🟢Выбор реализации
🟢Разработка
🟢Инпуты
🟢Взаимосвязанные элементы
🟢Форматирование
🟢Валидация
🟢Переходы
🟢Вертолеты
🟢Стратегия ошибок
🟢Версионирование
🟢Ретроспектива разработки
🟢Метрики
🟢Заключение

Читать (Ru)

Swift Tips

05 Sep, 18:14


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

В статье вы не найдёте инструкции, как из банковских приложений получить какие-либо данные, потому что это совсем не просто :)

Зато можно посмотреть, как можно упростить рутинный пользовательский ввод с помощью скриншотов, а именно через распознавание текста на изображении через Vision Framework.

Читать (Ru)

Swift Tips

02 Sep, 20:52


Снифферы трафика в мобильном тестировании: Обзор инструментов и их особенности

Статья с обзором доступных инструментов для сниффинга трафика в мобилках.

• Fiddler
• HTTP Catcher
• Charles Proxy
• Burp Suite
• Packet Capture
• Reqable Google Play | Reqable App Store
• Proxyman

Полезно может быть как разработчикам, так и тестировщикам.

Читать (Ru)

Swift Tips

31 Aug, 22:30


Собеседование по System Design: как запроектировать и не потеряться

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

👉 Начало интервью и вводные данные
👉 Функциональные требования
👉 Нефункциональные требования
👉 API и интеграции
👉 Жизненный цикл данных
👉 Схема архитектуры
👉 Расчёт ресурсов и финальные штрихи

Читать (Ru)

Swift Tips

30 Aug, 21:37


SwiftUI AlignmentGuide

Большая статья с примерами кода, про верстку в SwiftUI с помощью AlignmentGuide.

AlignmentGuide позволяет сделать специальное выравнивание внутри View. Инструмент позволяет строить направляющие для выравнивания в контейнерных типах View (HStack, VStack, ZStack) между родителем и его потомками.

Читать (Ru)

Swift Tips

27 Aug, 16:54


SwiftUI Cookbook • Creating Modal Views in SwiftUI

Welcome to the Creating Modal Views in SwiftUI section. This part of the guide aims to help you understand and implement a wide variety of modals within your SwiftUI applications.

• Create a Modal View in SwiftUI
• Dismiss a Modal View in SwiftUI
• Pass Data to a Modal View in SwiftUI
• Create a Full Screen Modal View in SwiftUI
• Create a Popover in SwiftUI
• Configure Modal View Height in SwiftUI
• Add a List to a Modal in SwiftUI
• Customize the Corner Radius of a Modal in SwiftUI
• Set a Custom Background for a Modal in SwiftUI
• Control Interaction with the View Behind a Modal in SwiftUI
• Create an Alert in SwiftUI
• Handle Errors with an Alert in SwiftUI
• Present a Confirmation Dialog in SwiftUI

← Предыдущая часть | Следующая часть →

Читать (En)

Swift Tips

25 Aug, 13:31


5 рандомных вопросов на собеседовании iOS разработчика

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

👉 Можно ли создать необязательные методы в протоколах?
👉 Чем static отличается от class?
👉 Могут ли ленивые вычисляемые свойства вычисляться больше одного раза?
👉 Почему нельзя вызвать memberwise initializer, если он содержит хотя
бы одно свойство с уровнем private?
👉 Почему классы не обладают memberwise инициализатором как структуры?

Читать (Ru)