🇺🇦 iOS Dev UA - спільнота iOS розробників
384 subscribers
399 photos
42 videos
9 files
959 links
Перша україномовна спільнота iOS розробників 🇺🇦

👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple.
Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple.

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Універсальний гайд із використання Foundation Models Framework

Фреймворк Foundation Models відкриває можливості генеративного ШІ прямо на пристроях Apple — включно з обробкою природної мови, створенням контенту та іншими задачами — з максимальною продуктивністю та повагою до приватності, адже все виконується локально, без відправки даних у хмару.

📖 У своєму блозі Азам уже почав працювати над глибоким гідом і ділиться першим поглядом на ключові концепції. Стаття оновлюється, але вже зараз доступні базові приклади й структура.

Матеріал поділений на зручні блоки:

🔹 Вимоги до запуску
🔹 Керована генерація
🔹 Інтеграція з SwiftUI‑застосунком
🔹 Інструменти розробника
🔹 Збереження результатів (без повторного запиту)
🔹 Оптимізація продуктивності


🧩 Крім того, вже доступна репозиторія з прикладами:

🛠 Генерація резюме для довгого тексту
🛠 Планувальник подорожей
🛠 Генератор жартів
🛠 Створення рецептів за інгредієнтами

⚠️ Для запуску прикладів вам знадобиться macOS Tahoe, Xcode 26 і Apple Silicon.
Чудовий старт для розробників, які хочуть інтегрувати локальний AI у свої iOS-застосунки.

🇺🇦 iOSDevUA
1
💡Огляд новинок у тулингу після WWDC — від команди Tuist

Команда Tuist зібрала все найцікавіше, що з’явилося у світі інструментів для розробки після WWDC 2025. Ось основне:

🔧 Покращення у сфері тестування
— Тепер доступна можливість запису відео під час запуску UI‑тестів. Це суттєво полегшить аналіз багів та поведінки інтерфейсу.

🔧 Новий макрос #playground
— Альтернатива SwiftUI Previews, але для не-UI коду. Дозволяє миттєво переглядати результат виконання фрагментів логіки, утиліт чи модулів, які не мають візуального представлення.

🔧 Проєкт container від Apple
Опенсорсний інструмент, що дозволяє запускати Linux-контейнери прямо на macOS. Повністю реалізований на Swift — ідеальний варіант для тих, хто хоче легкі, ізольовані середовища без сторонніх рішень типу Docker.

Це оновлення ще раз підкреслює, що Swift — це не лише про UI, а повноцінна екосистема для сучасного девелопменту.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Dragula — drag’n’drop рушій для SwiftUI

Dragula — це нова бібліотека для SwiftUI, яка значно спрощує створення інтерфейсів із перетягуванням (drag & drop).

🧩 Підтримує:
— списки з секціями
— горизонтальний і вертикальний скрол
— просте налаштування без зайвого коду

Чудовий вибір для тих, хто хоче реалізувати зручне перетягування елементів у SwiftUI — як у звичних списках, так і в більш складних layout’ах.

🇺🇦 iOSDevUA
7
💡Mesh‑градієнти в SwiftUI

На відміну від лінійних чи радіальних, mesh‑градієнти дозволяють набагато гнучкіше керувати розподілом кольорів на площині. Це відкриває нові можливості для створення виразних, органічних заливок.

У статті розглядається:
🎨 як створювати такі градієнти в SwiftUI
📐 як керувати геометрією й позиціями кольорів
🌀 як створювати складні форми й анімації на їх основі

Чудовий ресурс для тих, хто хоче вийти за межі стандартних заливок і створити по-справжньому унікальний візуальний стиль у SwiftUI.

🇺🇦 iOSDevUA
🔥3
💡На Swift тепер офіційно можна буде розробляти Android‑застосунки

На swift.org оголосили про створення нової робочої групи, мета якої — зробити Android офіційно підтримуваною платформою для Swift.

📖 Деталі — на сторінці Swift Android Workgroup

Основні завдання групи:

🔹 Розвивати та вдосконалювати підтримку Android у офіційному дистрибутиві Swift
🔹 Рекомендувати зміни у ключових бібліотеках Swift — таких як Foundation і Dispatch — для кращої сумісності з Android‑підходами
🔹 Визначити підтримувані архітектури та API‑рівні Android
🔹 Створити рекомендації з інтеграції Swift із Java SDK і пакування Swift‑бібліотек в Android‑застосунки
🔹 Працювати над підтримкою дебагу Swift‑коду на Android
🔹 Консультувати спільноту щодо додавання Android‑сумісності в сторонні Swift‑пакети

🚀 Це серйозний крок у бік кросплатформенності Swift і відкриває нові можливості для розробників iOS, які хочуть виходити за межі екосистеми Apple.

🇺🇦 iOSDevUA
🔥4
Якщо ви не знали: у логах Xcode можна всього за кілька кліків приховати всі повідомлення від певної бібліотеки, процесу або підсистеми.

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

🇺🇦 iOSDevUA
4
💡FaultOrdering — опенсорсний інструмент від Emerge Tools для прискорення запуску iOS‑застосунків

Emerge Tools, які нещодавно стали частиною Sentry, презентували перший спільний реліз — інструмент FaultOrdering, що генерує order-файли для оптимізації запуску застосунку.
🔗 Офіційний анонс

📖 Детальний розбір — у блозі Sentry:
Читати статтю
🛠 GitHub-репозиторій

🔍 Що таке order-файли і навіщо вони потрібні?
Це простий текстовий файл, який містить список символів (один символ на рядок), що критично важливі для швидкого старту застосунку. Під час лінкування ці символи групуються ближче один до одного — щоб завантаження відбувалося швидше.

Приклад із HackerNews від Emerge Tools:
+[SentryAppStartTracker load]  
+[SentryCrashDefaultMachineContextWrapper load]
_main
_$s10HackerNews0aB3AppVAC7SwiftUI0C0AAWl
_$s10HackerNews0aB3AppV7SwiftUI0C0AadEPxycfCTW
_$s10HackerNews0aB3AppVACycfCTf4d_n

Тут є символи з Objective‑C, C і Swift, що активно викликаються одразу після запуску.

🎯 Хто вже використовує подібні техніки?
У статті згадуються Spotify, Snapchat та Airbnb — всі вони працюють з order-файлами для оптимізації старту.

📉 У практиці Emerge Tools було зафіксовано до 20% скорочення часу запуску застосунку.

💬 А ви використовуєте подібні техніки для оптимізації старту?
Можливо, маєте простіші альтернативи або досвід впровадження подібних рішень? Поділіться!

🇺🇦 iOSDevUA
💡enum чи bool?
Вибір за вами — а тут трохи міркувань на цю тему:
🔗 Читайте пост

Коли ви керуєте станом — особливо, наприклад, відкриттям sheet’ів у SwiftUI — часто постає питання:
вистачить простого Bool, чи все ж краще створити enum із різними варіантами?

У матеріалі розглядаються переваги enum, коли сценарії взаємодії ускладнюються, і чому надто багато Bool-змінних може призвести до плутанини.

Коротко, але по суті — раджу до прочитання, якщо ви дбаєте про чистоту архітектури.

🇺🇦 iOSDevUA
5
💡Як виграти Apple Design Award: Any Distance тепер у відкритому доступі

Застосунок Any Distance спочатку створювався як простий інструмент для красивого візуального обміну своїми тренуваннями в соцмережах. Згодом проєкт перетворився на венчурний стартап із амбіцією посунути Strava — і хоча цього не сталося, у 2023 році застосунок здобув Apple Design Award за графіку та оформлення.

📖 У блозі Даніель Кунц розповідає, чому команда врешті зробила застосунок open source: серед причин — помилки в стратегії стартапу та складнощі зі збором коштів на розвиток.

Також він ділиться критикою документації SwiftUI:

«Apple покаже вам сто способів створити простий TODO-ліст, який навряд чи скомпілюється швидко, але коли справа доходить до реальних складних інтерфейсів — ви залишаєтесь самі. Через брак прикладів LLM теж не особливо допоможуть».


Крім того, Даніель згадує, що витратив багато часу на роботу з Metal, щоби досягти того рівня продуктивності та візуального ефекту, який ми бачимо в застосунку.

🛠 І найцікавіше — проєкт повністю відкритий:
🔗 GitHub — Any Distance iOS

Чудова можливість подивитися, як виглядає справжній дизайнерський застосунок Apple зсередини.

🇺🇦 iOSDevUA
👍2
💡Чому варто відмовитися від Timer.publish у SwiftUI — і що використовувати замість

На перший погляд Timer.publish здається зручним способом реалізувати таймер у SwiftUI. Але в цій статті пояснюється, чому це не найкраще рішення — особливо з погляду на продуктивність, повторне створення таймерів та контроль над життєвим циклом.

Автор ділиться прикладами, які демонструють неочевидні баги, пов’язані з оновленням в’юшок, і пропонує кращі альтернативи, зокрема використання Task з async/await, ObservableObject або @StateObject із явним контролем часу.

Рекомендується до перегляду всім, хто регулярно працює з анімаціями, таймерами та інтервальними оновленнями у SwiftUI.

🇺🇦 iOSDevUA
👍1
💡Реверс-інжиніринг Coding Intelligence у Xcode — як влаштовано AI-кодинг під капотом

Цього року в Xcode зʼявилась повноцінна версія Coding Intelligence — інструменту, що інтегрує AI‑допомогу прямо в середовище розробки.

📖 У статті Пітера Фрізе автор спробував зазирнути “під капот” і частково зрозуміти, як саме працює цей інструмент. Це свого роду дослідження — неофіційне, але досить глибоке.

🔍 Зокрема, він аналізує:
Реверс системних інструкцій Xcode — які prompt-и передаються в бекенд, і що саме формує відповіді інтелектуального помічника.
Типові сценарії використання Coding Intelligence — як Xcode розпізнає контекст, які підказки дає, і як вони пов’язані з діями користувача.

Цей огляд буде особливо цікавим тим, хто хоче краще розуміти логіку роботи AI‑підказок в Xcode і, можливо, навчитися створювати ефективніші промпти для взаємодії з ними.

🇺🇦 iOSDevUA
👍1
💡Великий огляд новинок у SwiftUI для iOS 26!

У цьому матеріалі зібрано все, що зʼявилося нового у SwiftUI з виходом iOS 26 — і повірте, змін справді багато.

🆕 Нові компоненти
⚙️ Покращення продуктивності
🎨 Більше контролю над анімаціями та макетами
🧩 Нові API для навігації та інтеграції з системою

Автор також залишив багато корисних посилань усередині статті — не забудьте по них пройтися, щоб зануритися в тему глибше!

Ідеальний ресурс, якщо хочете швидко оновити знання після WWDC.

🇺🇦 iOSDevUA
💡Продовжуємо знайомство з новинками в Swift — цього разу про concurrent

🧠 У новому матеріалі розбирається, що таке concurrent у Swift‑Concurrency, як він працює, і коли його варто застосовувати.

📌 Є приклади коду, пояснення відмінностей між паралельністю й асинхронністю, а також поради, як уникати типових помилок.

Все чітко, структуровано й зрозуміло — саме те, що треба для впевненого старту або систематизації знань. 👍

🇺🇦 iOSDevUA
2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Чому оновлюються view у SwiftUI — простий спосіб дебагу

При відлагодженні SwiftUI-інтерфейсу корисно розуміти, що саме викликає оновлення в’юшки. Один із найпростіших (і офіційно підтримуваних!) способів — це використання методу Self._printChanges() всередині body замість звичайного print.

🔍 Цей метод виводить у консоль:
— які властивості змінилися,
— чи змінилася структура або ідентичність вʼю (@identity),
— чи просто змінилося значення (@self).

📖 Раніше це було прихованим API (як тут на StackOverflow), але зараз метод згадується вже й в офіційній документації Apple.

⚙️ Надзвичайно зручно для пошуку зайвих перерендерів або оптимізації складних екранів у SwiftUI.

🇺🇦 iOSDevUA
4🔥2
💡Що нового в UIKit у iOS 26 — короткий огляд важливих змін

Якщо ви досі користуєтесь (або змушені користуватись 🙂) UIKit і вам цікаво, що нового Apple додала у версії iOS 26, — ось зручний і короткий огляд змін, на які справді варто звернути увагу.

Так, UIKit усе ще живий, його активно вдосконалюють і допилюють — і тут зібрані саме ті фічі, які можуть бути корисними в реальних проєктах.

Ідеально, якщо ви хочете бути в курсі, не заглиблюючись одразу в усі сесії WWDC.

🇺🇦 iOSDevUA
👍2
💡Робота з таймером у AlarmKit — як почати за кілька кроків

Один із нових фреймворків, представлений на WWDC, — це AlarmKit. Він дозволяє легко реалізовувати таймери та будильники прямо в системному інтерфейсі iOS.

🔧 Щоб почати роботу, достатньо:
— імпортувати фреймворк
— додати ключ NSAlarmKitUsageDescription до Info.plist
— виконати базову конфігурацію

📖 У цьому гайді показано, як створити таймер із підтримкою Live Activity для локскріну та Dynamic Island, а також як налаштовувати інтервали, стилі й інтеграцію з UI.

Чудовий стартовий приклад для тих, хто хоче додати глибоку інтеграцію таймерів у свій застосунок на iOS 18+.

🇺🇦 iOSDevUA
4👍1
🎬Трохи корисного для дизайнерів (або розробників, які самі малюють інтерфейси)

🎨 Якщо ви хочете, щоб ваш дизайн виглядав у стилі нового Liquid Glass від Apple, ось короткий і практичний 10-хвилинний ролик про те, як реалізувати цей ефект у Figma.

Ідеально підійде для створення макетів, що виглядають сучасно й відповідають трендам iOS 26.
Навіть якщо ви не дизайнер, але маєте власні уявлення про UI — варто подивитися!

🇺🇦 iOSDevUA
💡Про @Observable в UIKit — як це працює і на що звернути увагу

Як ми вже згадували раніше, Apple несподівано додала підтримку @Observable в UIKit — і одразу ж із підтримкою до iOS 18. Тепер зміни в об’єктах можна автоматично відстежувати навіть у класичних UIKit-застосунках.

У статті пояснюється:
🔹 як працює система автоматичного трекінгу
🔹 у чому різниця між @Observable у SwiftUI та UIKit
🔹 які існують обмеження та тонкощі
🔹 як уникнути просідання продуктивності, якщо трекінг спрацьовує занадто часто або в неправильний момент

Це обов’язкове читання для всіх, хто вже будує застосунки на UIKit, але хоче скористатися перевагами сучасного реактивного підходу — без повного переходу на SwiftUI.

🇺🇦 iOSDevUA
👍3
💡Про макрос #playground з останнього WWDC — новий спосіб запускати код у Canvas

📖 У статті пояснюється, як працює новий макрос #playground, представлений на WWDC.

Це сучасна альтернатива старим Playground-файлам:
— дозволяє запускати фрагменти коду прямо в Xcode Canvas
— працює не лише з UI, а й із будь-якою логікою
— ідеально підходить для швидкого тестування функцій, форматтерів, алгоритмів тощо

Макрос працює напряму у Swift-файлі й не потребує окремого проєкту чи Playgrounds-оточення.
Зручний, мінімалістичний і повністю інтегрований у Xcode 26. Рекомендується для всіх, хто часто експериментує з кодом.

🇺🇦 iOSDevUA
🔥4
💡Що варто знати про Foundation Model від Apple

Головне, що потрібно розуміти про локальну LLM, яку Apple інтегрувала в iOS, — вона компактна й обмежена за сучасними мірками.
🔹 Об’єм контекстного вікна — лише 4096 токенів.
Тобто не варто сприймати її як “похідну версію ChatGPT у кишені”.

Натомість варто дивитися на неї як на інструмент для перетворення вільного тексту у структуровані дані, помічника для простих локальних завдань — форматування, витягу інформації, узагальнення, тегування тощо.

Ідеально підходить для використання прямо на пристрої — швидко, приватно й без інтернету. Але не замінить хмарні LLM у складних сценаріях.

🇺🇦 iOSDevUA
💡Трохи бенчмарків AI‑асистентів: хто краще виправляє баги в iOS?

У цьому матеріалі порівнюють, як популярні AI‑інструменти справляються з діагностикою та виправленням крашів у мобільних застосунках.

Учасники тесту:
🛠 SmartResolve
🛠 Copilot
🛠 Claude Code
🛠 Cursor

Порівнюють точність, швидкість, якість фіксів і зручність інтеграції в мобільні пайплайни.
Результати — неочікувано цікаві, особливо якщо ви вже тестуєте такі інструменти в реальних проєктах.

Рекомендовано до прочитання всім, хто працює з iOS-крашами або хоче інтегрувати AI у щоденний девелопмент.

🇺🇦 iOSDevUA