🇺🇦 iOS Dev UA - спільнота iOS розробників
Open in Telegram
Перша україномовна спільнота iOS розробників 🇺🇦 👨💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel
Show more384
Subscribers
No data24 hours
+37 days
+1130 days
Posts Archive
💡Виявлення та усунення зависань в iOS-додатках
📖 У цій статті розглядається одна з найпоширеніших причин погіршення продуктивності iOS-додатків.
Спойлер: у всьому винні важкі обчислення в головному потоці.
Описано, як виявляти зависання за допомогою App Hangs Detection та Instruments, змодельовано сценарій зависання інтерфейсу у SwiftUI-проєкті, а також показано кроки для виправлення цієї проблеми.
🇺🇦 iOSDevUA
💡Оптимізація таблиць у SwiftUI через UIKit
Якщо продуктивність списків у SwiftUI в певних кейсах недостатня, є ефективний підхід:
🔹 Використовувати SwiftUI тільки для розмітки ячейок
🔹 А для управління таблицею переключитися на UICollectionView
Це стало можливим завдяки новому механізму конфігурації UIKit, який дозволяє інтегрувати SwiftUI в комірки.
📖 Детальніше про методику – в оригінальній статті.
🇺🇦 iOSDevUA
💡Model Context Protocol (MCP) у Swift
У блозі NSHipster вийшла нова стаття, де детально розбирають MCP (Model Context Protocol) – протокол для взаємодії LLM із зовнішніми інструментами.
🔍 Що цікавого?
📖 У статті пояснюється, як працює протокол та для чого він може знадобитися.
🛠 Крім того, автори відкрили Swift SDK для MCP у відкритий доступ.
🇺🇦 iOSDevUA
💡Lynx – новий кросплатформенний фреймворк від TikTok
TikTok презентували Lynx – новий UI-фреймворк для кросплатформеної розробки.
🔹 Чим він відрізняється?
Концептуально він нагадує React Native: використовує веб-технології, але рендерить інтерфейс у нативні компоненти кожної платформи.
⚡️ Головна фішка – продуктивність
Lynx працює на двох окремих рантаймах:
1️⃣ Один відповідає за високопріоритетні UI-операції
2️⃣ Другий – за основний користувацький код
🛠 Детальніше про проєкт – у блозі розробників.
🇺🇦 iOSDevUA
Picker у SwiftUI: приклади та пояснення 🎨
Корисний матеріал про Picker у SwiftUI – як його налаштовувати, стилізувати та використовувати у додатках.
📖 Розбір з прикладами коду та поясненнями, щоб краще зрозуміти його можливості.
🇺🇦 iOSDevUA
💡Які версії iOS зараз використовуються?
Якщо ви обираєте мінімальну підтримувану версію iOS для свого застосунку, ось актуальна статистика використання різних версій iOS:
📊 Розподіл основних версій:
1️⃣ iOS 18 – 79,5%
2️⃣ iOS 17 – 13,7%
3️⃣ iOS 16 – 5%
📌 Детальне розбиття за мінорними версіями доступне тут.
🇺🇦 iOSDevUA
💡Проблеми продуктивності List у SwiftUI на macOS
Автор стверджує, що стандартний List у SwiftUI може мати проблеми з продуктивністю на macOS при роботі з великим обсягом даних (10 000+ елементів).
💡 Рішення – власна кастомна реалізація, яка позбавлена цих недоліків.
Сам не тестував, але матеріал виглядає цікавим.
📖 Ознайомитися можна тут: Custom Lazy List у SwiftUI.
🇺🇦 iOSDevUA
💡Створення UDP-сервера та клієнта в Swift за допомогою Network Framework
Модель OSI описує, як пристрої у локальних і глобальних мережах передають дані. Вона складається з 7 рівнів, і хоча для більшості завдань достатньо URLSession, для роботи з TCP та UDP потрібен Network Framework, який забезпечує більший контроль на транспортному рівні.
📖 У цьому матеріалі розглядається створення UDP-сервера та клієнта на практичному прикладі.
🛠 Повний код доступний на GitHub.
🇺🇦 iOSDevUA
💡Покрокова анімація в SwiftUI
На talk.objc.io вийшов безкоштовний випуск, у якому детально розглядається створення анімації для заголовка та кількох комірок, що з’являються у шаховому порядку з плавною зміною прозорості та градієнта.
📖 Переглянути відео та ознайомитися з прикладами коду можна тут: talk.objc.io.
🇺🇦 iOSDevUA
🚀 SecurityKit легка та проста у використанні бібліотеки Swift, яка допомагає захистити iOS додатки відповідно до стандарту OWASP MASVS, розділ v8, забезпечуючи вдосконалений рівень безпеки та захисту від несанкціонованого доступу.
● Jailbreak detection
● Static integrity checks
● Debugger detection
● Reverse engineering tools detection
● Network settings detection
Захистіть свої додатки без зусиль за допомогою SecurityKit!
🔗GitHub: https://github.com/FuturraGroup/SecurityKit
🇺🇦 iOSDevUA
💡Доповіді про Swift з FOSDEM 2025
Якщо вам цікаво почути нетипові доповіді про Swift, то FOSDEM – саме те, що потрібно! Тут не буде стандартних тем про iOS-розробку, зате багато про серверний Swift, embedded та технічні аспекти мови.
Ось кілька цікавих виступів, які вже доступні до перегляду:
🔗 Swift та Java: взаємодія між мовами
🔗 Ферофлюїдний музичний візуалізатор на Embedded Swift
🔗 Дистрибутивний трейсинг у серверному Swift
🇺🇦 iOSDevUA
💡Зміни в пошуку App Store: додадуть теги та пошук за змістом
🔍 Apple оновлює алгоритм пошуку в App Store – тепер додадуть теги, а сам пошук більше не базуватиметься лише на збігу букв, а враховуватиме сенс запитів.
🛠 Поки що оновлення доступне лише для частини додатків у США, але протягом року його планують розгорнути для всіх.
📊 Як це вплине на пошукові позиції додатків – дізнаємось згодом.🇺🇦 iOSDevUA
💡Serverless Swift: створення AWS Lambda на Swift
📡 У цьому матеріалі показано, як реалізувати AWS Lambda на Swift для керування розумними лампочками.
Автор розбирає:
🔹 Технічні особливості реалізації
🔹 Продуктивність такого рішення
🔹 Орієнтовну вартість серверлесс-бекенду
Цікавий кейс для тих, хто хоче спробувати Swift у хмарних технологіях. 🚀
🇺🇦 iOSDevUA
💡Новий інструмент аналізу продуктивності: Processor Trace
Тривале виконання операцій у головному потоці може викликати фризи, проблеми з відображенням або навіть повну некерованість додатка.
🛠 У Xcode 16.3 Beta 2 з’явився новий інструмент Processor Trace, який дозволяє аналізувати навантаження на процесор.
З його допомогою можна отримати детальну інформацію про виконуваний код, включно з гілками виконання та інструкціями.
❗️ Обмеження:
🔹 Працює тільки на M4 та iPhone 16 і вище.
🔹 Використання трасування сповільнює пристрій приблизно на 1 %.
Цей інструмент допомагає перевірити активність CPU і вирішити, які завдання перенести у фоновий режим за допомогою Swift Concurrency або dispatch queue.
🇺🇦 iOSDevUA
💡Воркфлоу роботи з LLM у розробці
AI поступово змінює підхід до розробки, як для нових проектів, так і при роботі з існуючим кодом. У статті описано структурований підхід, який допомагає ефективно використовувати LLM у робочому процесі.
Основні етапи:
👉 Спільний брейншторм із AI у чаті – на виході отримуємо чітку специфікацію задачі.
👉 На основі спеки AI формує план атомарних завдань.
👉 Завдання передаються LLM або агенту для поетапної реалізації.
📖 Детальний опис процесу – за посиланням.
🇺🇦 iOSDevUA
💡Симетричні та асиметричні ефекти в SwiftUI з використанням Scroll Transition
📖 Корисний гайд про створення ефектів анімації під час скролу з Scroll Transition Modifier.
У матеріалі наведені приклади коду, що допоможуть легко впровадити такі переходи у ваш додаток.
Важливо: цей модифікатор працює лише на iOS 17 і новіших версіях.
🇺🇦 iOSDevUA
💡Обхід захисту від дебагу та джейлбрейка
Деякі додатки, особливо банківські, мають вбудовані механізми безпеки, що блокують підключення дебагера або повністю відключають роботу на джейлбрейкнутому пристрої.
📖 У цій статті розглядається, як обійти такі обмеження, підключити дебагер і виконати довільний код у рантаймі.
Матеріал буде корисним для розробників, які хочуть перевірити стійкість своїх додатків до таких атак.
🇺🇦 iOSDevUA
💡Синхронне виконання задач в iOS-додатках
Більшість iOS-розробників уникають блокування основного потоку, переносячи тривалі завдання на фонові черги. Це допомагає зберегти плавність роботи інтерфейсу.
Однак, як зазначає Мэтт у своїй статті, короткотривалі процеси можуть працювати швидше саме на основному потоці. Причина в тому, що перемикання між потоками хоч і здається незначним, але все ж має певні витрати ресурсів.
Крім того, додавання паралелізму може значно ускладнити код і його підтримку.
📖 Більше деталей та практичних прикладів – у статті автора.
🇺🇦 iOSDevUA
💡Що нового у Swift Concurrency 6.1
Swift Concurrency поступово стає зручнішим для розробників, як і було обіцяно в пропозалі Approachable Concurrency.
Нещодавно вийшла бета Swift 6.1, яка додала нові функції, що спрощують роботу з асинхронними задачами.
📖 Детальний розбір оновлень – у цій статті.
🇺🇦 iOSDevUA
💡Просте налаштування модуляризації для iOS-додатків
Модульний підхід у розробці iOS-додатків має багато переваг:
🔹 Краща тестованість – кожен модуль можна перевіряти окремо.
🔹 Прискорення збірки – правильне розподілення покращує швидкість компіляції.
🔹 Легша командна робота – різні частини додатка можна розробляти незалежно.
📖 У статті детально розглянуто підхід до модульної архітектури через Core/Domain/Presentation шари. Також показано, як масштабувати цей метод для великих проектів.
🛠 Код доступний на GitHub: ModularTemplate.
🇺🇦 iOSDevUA
Available now! Telegram Research 2025 — the year's key insights 
