🇺🇦 iOS Dev UA - спільнота iOS розробників
Відкрити в Telegram
Перша україномовна спільнота iOS розробників 🇺🇦 👨💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel
Показати більше384
Підписники
Немає даних24 години
+37 днів
+1130 день
Архів дописів
💡Знайомимось із Container — новим інструментом для запуску Linux-контейнерів на macOS
Один із ключових анонсів WWDC — це Container — інструмент від Apple, що дозволяє збирати Linux-контейнери прямо на macOS без сторонніх рішень.
У статті покроково розбирається:
— як зібрати контейнер з Vapor‑застосунком
— як залити його в віддалений реєстр
— і як швидко задеплоїти у production
🛠 Ідеальне рішення для тих, хто хоче запускати серверні Swift-застосунки в ізольованому середовищі, не виходячи з екосистеми Apple.
Відмінна точка входу у сучасний DevOps для Swift-розробників.
🇺🇦 iOSDevUA
💡Як підключити Google Gemini до Xcode — інструкція з обхідними рішеннями
У Xcode 26 зʼявилась підтримка сторонніх LLM — тепер ви можете підключити будь-яку AI‑модель, якщо маєте API‑ключ. Але з Google Gemini є нюанс: їхня URL-схема не відповідає очікуванням Xcode, через що інтеграція “з коробки” не працює.
І це прикро, адже моделі Gemini мають низку переваг:
🔹 величезне вікно контексту
🔹 низька вартість запитів
🔹 висока точність у розробницьких бенчмарках
🛠 У статті показано, як за допомогою кількох обхідних рішень (хитрих костилів) усе ж таки змусити Xcode працювати з Gemini — і використовувати ці моделі як асистента в IDE.
Корисно для тих, хто хоче отримати максимум від AI‑помічників у Xcode без обмеження лише на ChatGPT.
🇺🇦 iOSDevUA
💡Сумісність Swift і C++ на практиці: досвід використання та інтеграції
З виходом Swift 5.9 мова отримала повноцінну підтримку взаємодії з C++, що дало змогу напряму використовувати API, написані на C++, зі Swift — і навпаки.
📖 У детальному гайді Artur Gruchała показує, як викликати C++‑функції, обгортати класи та передавати складні типи даних між Swift і C++. Автор наводить реальні приклади, які чудово підійдуть для тих, хто хоче об’єднати обидві мови в одному проєкті.
Також у статті:
🔹 Налаштування збірки: як працювати з картами модулів, заголовками та SwiftPM/Xcode
🔹 Поради щодо безпечного управління пам’яттю
🔹 Робота з обробкою помилок у змішаних проектах
🔹 Відмінності між прямою інтеграцією та через bridge wrappers
📚 А повну документацію з усіма можливостями C++ interoperability можна знайти на офіційному сайті Swift
Це корисне джерело для розробників, які хочуть використовувати Swift у проєктах з існуючою кодовою базою на C++.
🇺🇦 iOSDevUA
💡Коротко про Icon Composer — новий інструмент у Xcode 26 з WWDC
🆕 Разом із релізом Xcode 26 Apple представила Icon Composer — інструмент, що дозволяє швидко створювати іконки за новою дизайн-системою.
📖 У цiй статті пояснюється, як працює новий формат, як додати такі іконки до проєкту, та які переваги він дає розробникам.
Це чудовий спосіб інтегрувати візуально узгоджені, масштабовані іконки в застосунки — без ручної підготовки десятків розмірів.
Особливо корисно для тих, хто хоче бути в тренді з оновленим гайдлайном Apple для iOS 26.
🇺🇦 iOSDevUA
🖥 Історія системних налаштувань Mac — інтерактивний сайт про Control Panel та еволюцію інтерфейсів
На мій погляд, дуже цікаво простежити, як формувались знайомі нам сьогодні UI-рішення, як вони виглядали на початку й як змінювались з часом.
💡 Знали, що існує сайт Infinite Mac, де зібрано велику колекцію історичних версій macOS та NeXT, доступних прямо в браузері?
На цьому тижні вийшла глибока стаття про Control Panel — з прикладами, скріншотами й інтерактивною візуалізацією, яка дозволяє відстежити всю еволюцію системних налаштувань — від перших ідей до 2004 року.
Особливо рекомендую до перегляду дизайнерам, але не тільки.
Це історія про те, як усе починалося під тиском технічних обмежень, за умов відсутності багатозадачності, і ще й потрібно було навчити користувача з цим працювати.
📖 Весь огляд — тут: Aresluna — Frame of Preference
Чудова мандрівка для тих, хто цінує глибину у деталях інтерфейсного дизайну.
🇺🇦 iOSDevUA
💡GM Shaders — добірка матеріалів для вивчення шейдерів: від новачка до профі
Я люблю занурюватись у складні теми — алгоритми, анімації, неочевидні техніки — і часто ділюсь у каналі цікавими прикладами.
Цього разу натрапив на дуже корисний ресурс для всіх, хто хоче вивчити шейдери або прокачати поточні знання.
🔹 На сайті зібрані:
— основи математики для шейдерів
— приклади функцій, як-от tanh
— типові помилки при роботі з шейдерами — і як їх уникати
🧩 Матеріали структуровані за рівнем підготовки:
🔰 Для новачків
⚙️ Для тих, хто вже трохи в темі
🧠 І для досвідчених розробників
Ідеально підходить для самонавчання або як база перед створенням кастомної графіки у SwiftUI, Metal, Unity чи WebGL.
🇺🇦 iOSDevUA
💡Досвід роботи зі Swift Package Registry — як розгорнути власний реєстр у Artifactory
Swift Package Registry — це функція в SwiftPM, яка дозволяє підняти власний сервер для розповсюдження Swift‑пакетів.
🔗 Офіційна документація
Це особливо корисно, якщо:
👉 Ви хочете прискорити CI/CD-процеси, уникнувши постійного клонування Git-репозиторіїв
👉 Вас хвилюють supply chain атаки і ви хочете мати контроль над залежностями
👉 Ви не хочете залежати від зовнішніх пакетів, які можуть раптом зникнути або видалитися
У статті докладно описано, як автор налаштував власний реєстр Swift‑пакетів на базі JFrog Artifactory, які виникли труднощі та як їх вдалося вирішити.
🛠 Чудовий матеріал для команд, які прагнуть більшої стабільності, безпеки й автономії у своїй інфраструктурі.
🇺🇦 iOSDevUA
💡Reaper — фреймворк для виявлення невикористаного коду під час рантайму
Reaper — це опенсорсний інструмент від Emerge Tools (також відомих за FaultOrdering), який допомагає знайти й видалити непотрібний код, що більше не використовується в застосунку.
📉 Один із прикладів — Duolingo, де після запуску Reaper змогли скоротити кодову базу на 1% або понад 10 000 рядків
🔗 Офіційний кейс
Що підтримується:
✅ усі класи на Objective-C
✅ більшість не-генерик класів Swift
✅ частково — структури та enum-и Swift
🔍 Принцип роботи:
1. Reaper відстежує, які типи дійсно викликаються під час виконання застосунку.
2. Скрипти з репозиторію на GitHub допомагають зібрати повний список усіх типів у проєкті.
3. Порівнюючи обидва списки, можна виявити мертвий код, який не використовувався жодного разу.
📊 Про вплив на продуктивність читайте у документації — загальне навантаження мінімальне, а розмір додатку збільшується менш ніж на 20 КБ.
📖 Повна стаття з прикладами використання Reaper — для iOS і Android.
Ідеальний інструмент для тих, хто хоче позбутись «історичних залишків» у коді й зробити застосунок легшим і швидшим.
🇺🇦 iOSDevUA
🎬Перші враження від «вайб-кодингу» в Xcode 26 — варто спробувати?
У Xcode 26 зʼявилась нова функція, яку жартома (а тепер і всерйоз) називають вайб-кодингом — інтеграція AI-помічника безпосередньо в редактор, із контекстною підтримкою та підказками в режимі реального часу.
Автор статті ділиться першими враженнями, демонструє, як усе працює, та пропонує власні висновки:
чи справді це корисно, наскільки розумно працює AI і чи варто переходити на такий формат прямо зараз.
👍 Усе з прикладами й відео — можна подивитися й оцінити самостійно.
🇺🇦 iOSDevUA
💡Типобезпечна й зручна обробка помилок у Swift 6
У Swift 6 зʼявилась нова потужна можливість — typed throws
Завдяки їй можна чітко вказати, які саме типи помилок може викидати функція.
На перший погляд — незначне оновлення, але насправді воно відкриває шлях до чистішого, контрольованого й безпечного коду.
📖 У цьому дописі показано:
— приклад створення власного протоколу для помилок
— два практичні кейси використання
throws(ErrorType) у Swift 6
Typed throws — це ще один крок до передбачуваної обробки помилок і кращої інтеграції зі статичним аналізом. Варто ознайомитися, якщо хочете оновити свій підхід до помилок на більш сучасний.
🇺🇦 iOSDevUA💡Досвід AI-скептика: перший серйозний контакт із LLM
Це — особистий погляд автора, який тривалий час скептично ставився до ШІ-асистентів і великих мовних моделей. У статті він ділиться своїм першим “повноцінним” досвідом взаємодії з AI — без гучних висновків, просто чесне занурення в тему.
Якщо ви самі ще сумніваєтесь у користі або доцільності AI у щоденній розробці, можливо, вам буде цікаво прочитати цю історію від людини, яка мала подібні сумніви.
👍 Неформально, але щиро — хороша нагода подивитись на тему з іншого кута.
🇺🇦 iOSDevUA
💡Як Claude допоміг переписати легасі-застосунок на Swift
У цьому матеріалі автор ділиться досвідом, як за допомогою Claude Code (AI-агент від Anthropic) переписав 12‑річний застосунок на Objective‑C, створений ще під iOS 6, — на сучасний Swift + SwiftUI. І все це — лише за $20!
Стаття написана у форматі щоденника: покроково, із рефлексією, технічними нюансами, спробами, помилками й висновками.
🔍 Вийшло дуже практично й чесно — особливо корисно тим, хто хоче спробувати використовувати AI для міграції легасі-коду.
Рекомендую для прочитання всім, хто замислюється про інтеграцію AI‑асистентів у робочий процес — чудовий приклад із реальними результатами.
🇺🇦 iOSDevUA
💡Трохи бенчмарків AI‑асистентів: хто краще виправляє баги в iOS?
У цьому матеріалі порівнюють, як популярні AI‑інструменти справляються з діагностикою та виправленням крашів у мобільних застосунках.
Учасники тесту:
🛠 SmartResolve
🛠 Copilot
🛠 Claude Code
🛠 Cursor
Порівнюють точність, швидкість, якість фіксів і зручність інтеграції в мобільні пайплайни.
Результати — неочікувано цікаві, особливо якщо ви вже тестуєте такі інструменти в реальних проєктах.
Рекомендовано до прочитання всім, хто працює з iOS-крашами або хоче інтегрувати AI у щоденний девелопмент.
🇺🇦 iOSDevUA
💡Що варто знати про Foundation Model від Apple
Головне, що потрібно розуміти про локальну LLM, яку Apple інтегрувала в iOS, — вона компактна й обмежена за сучасними мірками.
🔹 Об’єм контекстного вікна — лише 4096 токенів.
Тобто не варто сприймати її як “похідну версію ChatGPT у кишені”.
Натомість варто дивитися на неї як на інструмент для перетворення вільного тексту у структуровані дані, помічника для простих локальних завдань — форматування, витягу інформації, узагальнення, тегування тощо.
Ідеально підходить для використання прямо на пристрої — швидко, приватно й без інтернету. Але не замінить хмарні LLM у складних сценаріях.
🇺🇦 iOSDevUA
💡Про макрос #playground з останнього WWDC — новий спосіб запускати код у Canvas
📖 У статті пояснюється, як працює новий макрос
#playground, представлений на WWDC.
Це сучасна альтернатива старим Playground-файлам:
— дозволяє запускати фрагменти коду прямо в Xcode Canvas
— працює не лише з UI, а й із будь-якою логікою
— ідеально підходить для швидкого тестування функцій, форматтерів, алгоритмів тощо
Макрос працює напряму у Swift-файлі й не потребує окремого проєкту чи Playgrounds-оточення.
Зручний, мінімалістичний і повністю інтегрований у Xcode 26. Рекомендується для всіх, хто часто експериментує з кодом.
🇺🇦 iOSDevUA💡Про @Observable в UIKit — як це працює і на що звернути увагу
Як ми вже згадували раніше, Apple несподівано додала підтримку
@Observable в UIKit — і одразу ж із підтримкою до iOS 18. Тепер зміни в об’єктах можна автоматично відстежувати навіть у класичних UIKit-застосунках.
У статті пояснюється:
🔹 як працює система автоматичного трекінгу
🔹 у чому різниця між @Observable у SwiftUI та UIKit
🔹 які існують обмеження та тонкощі
🔹 як уникнути просідання продуктивності, якщо трекінг спрацьовує занадто часто або в неправильний момент
Це обов’язкове читання для всіх, хто вже будує застосунки на UIKit, але хоче скористатися перевагами сучасного реактивного підходу — без повного переходу на SwiftUI.
🇺🇦 iOSDevUA🎬Трохи корисного для дизайнерів (або розробників, які самі малюють інтерфейси)
🎨 Якщо ви хочете, щоб ваш дизайн виглядав у стилі нового Liquid Glass від Apple, ось короткий і практичний 10-хвилинний ролик про те, як реалізувати цей ефект у Figma.
Ідеально підійде для створення макетів, що виглядають сучасно й відповідають трендам iOS 26.
Навіть якщо ви не дизайнер, але маєте власні уявлення про UI — варто подивитися!
🇺🇦 iOSDevUA
💡Робота з таймером у AlarmKit — як почати за кілька кроків
Один із нових фреймворків, представлений на WWDC, — це AlarmKit. Він дозволяє легко реалізовувати таймери та будильники прямо в системному інтерфейсі iOS.
🔧 Щоб почати роботу, достатньо:
— імпортувати фреймворк
— додати ключ
NSAlarmKitUsageDescription до Info.plist
— виконати базову конфігурацію
📖 У цьому гайді показано, як створити таймер із підтримкою Live Activity для локскріну та Dynamic Island, а також як налаштовувати інтервали, стилі й інтеграцію з UI.
Чудовий стартовий приклад для тих, хто хоче додати глибоку інтеграцію таймерів у свій застосунок на iOS 18+.
🇺🇦 iOSDevUA💡Що нового в UIKit у iOS 26 — короткий огляд важливих змін
Якщо ви досі користуєтесь (або змушені користуватись 🙂) UIKit і вам цікаво, що нового Apple додала у версії iOS 26, — ось зручний і короткий огляд змін, на які справді варто звернути увагу.
Так, UIKit усе ще живий, його активно вдосконалюють і допилюють — і тут зібрані саме ті фічі, які можуть бути корисними в реальних проєктах.
Ідеально, якщо ви хочете бути в курсі, не заглиблюючись одразу в усі сесії WWDC.
🇺🇦 iOSDevUA
💡Чому оновлюються view у SwiftUI — простий спосіб дебагу
При відлагодженні SwiftUI-інтерфейсу корисно розуміти, що саме викликає оновлення в’юшки. Один із найпростіших (і офіційно підтримуваних!) способів — це використання методу
Self._printChanges() всередині body замість звичайного print.
🔍 Цей метод виводить у консоль:
— які властивості змінилися,
— чи змінилася структура або ідентичність вʼю (@identity),
— чи просто змінилося значення (@self).
📖 Раніше це було прихованим API (як тут на StackOverflow), але зараз метод згадується вже й в офіційній документації Apple.
⚙️ Надзвичайно зручно для пошуку зайвих перерендерів або оптимізації складних екранів у SwiftUI.
🇺🇦 iOSDevUA
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
