fa
Feedback
🇺🇦 iOS Dev UA - спільнота iOS розробників

🇺🇦 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 — тепе
💡Як підключити 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 мова отримала повноцінну підтримк
💡Сумісність 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
💡Коротко про Icon Composer — новий інструмент у Xcode 26 з WWDC 🆕 Разом із релізом Xcode 26 Apple представила Icon Composer — інструмент, що дозволяє швидко створювати іконки за новою дизайн-системою. 📖 У цiй статті пояснюється, як працює новий формат, як додати такі іконки до проєкту, та які переваги він дає розробникам. Це чудовий спосіб інтегрувати візуально узгоджені, масштабовані іконки в застосунки — без ручної підготовки десятків розмірів. Особливо корисно для тих, хто хоче бути в тренді з оновленим гайдлайном Apple для iOS 26. 🇺🇦 iOSDevUA

🖥 Історія системних налаштувань Mac — інтерактивний сайт про Control Panel та еволюцію інтерфейсів На мій погляд, дуже цікав
🖥 Історія системних налаштувань Mac — інтерактивний сайт про Control Panel та еволюцію інтерфейсів На мій погляд, дуже цікаво простежити, як формувались знайомі нам сьогодні UI-рішення, як вони виглядали на початку й як змінювались з часом. 💡 Знали, що існує сайт Infinite Mac, де зібрано велику колекцію історичних версій macOS та NeXT, доступних прямо в браузері? На цьому тижні вийшла глибока стаття про Control Panel — з прикладами, скріншотами й інтерактивною візуалізацією, яка дозволяє відстежити всю еволюцію системних налаштувань — від перших ідей до 2004 року. Особливо рекомендую до перегляду дизайнерам, але не тільки. Це історія про те, як усе починалося під тиском технічних обмежень, за умов відсутності багатозадачності, і ще й потрібно було навчити користувача з цим працювати. 📖 Весь огляд — тут: Aresluna — Frame of Preference Чудова мандрівка для тих, хто цінує глибину у деталях інтерфейсного дизайну. 🇺🇦 iOSDevUA

💡GM Shaders — добірка матеріалів для вивчення шейдерів: від новачка до профі Я люблю занурюватись у складні теми — алгоритми
💡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
💡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 — новий спосіб запускати код у 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.
💡Робота з таймером у 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