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

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

Open in Telegram

Перша україномовна спільнота iOS розробників 🇺🇦 👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel

Show more
383
Subscribers
-124 hours
-17 days
+830 days
Posts Archive
💡Як дати Claude Code доступ для роботи зі SwiftUI Claude Code — один із найпотужніших AI-агентів для програмування на сьогодні. Його інтерфейс — мінімалістична консольна обгортка, що напряму спілкується з моделями Anthropic і підтримує MCP та інші CLI‑інструменти. 💡 Але агент стає справді ефективним, коли має доступ не лише до коду, а й до результатів його виконання. У статті показано, як використання снепшот‑тестів (snapshot tests) дозволяє Claude Code: — бачити, як виглядає SwiftUI‑інтерфейс — оцінювати візуальний результат — і ітеративно вдосконалювати UI до бажаного вигляду Це дає змогу агенту не просто писати код за промптом, а працювати з візуальним контекстом — тобто “бачити”, як змінюється інтерфейс, і краще адаптувати його до ваших потреб. 🇺🇦 iOSDevUA

😳 Макбук як ваги — незвичайний macOS-застосунок на GitHub Не зміг пройти повз цей репозиторій! TrackWeight — це застосунок, який перетворює MacBook у справжні ваги, використовуючи датчики тиску Force Touch. Під капотом — бібліотека OpenMultitouchSupport від Такуто Накамури, що дозволяє отримувати приватний доступ до всіх подій трекпада та миші на macOS. 💡 Чому це працює: трекпад MacBook — це не звичайна сенсорна панель, а датчик сили натиску з тактильним зворотним зв’язком, тому ви відчуваєте “клік”, хоча він не механічний. І саме це дає змогу відслідковувати навіть зміну ваги. 🛠 GitHub-репозиторій — вже понад 5 000 зірочок Саме заради таких експериментів ми й любимо розробку, правда ж? 🚀 🇺🇦 iOSDevUA

💡Як загорнути Haskell-бібліотеку у Swift-фреймворк (і чому це не так складно, як здається) Продовжуючи тему взаємодії між мовами, цього разу — дещо незвичний кейс: інтеграція Haskell у Swift‑застосунок. Так, ви не помилились 🙂 У статті крок за кроком пояснюється, як: 🔹 зібрати Haskell-бібліотеку 🔹 обгорнути її у .xcframework 🔹 підключити до Swift‑проєкту 🔹 викликати функції через C-інтерфейс І все це — доволі просто, без великих жертв із боку продуктивності чи стабільності. Ідеальний матеріал для ентузіастів, які хочуть поєднати функціональну чистоту Haskell з мобільною розробкою на Swift. 🇺🇦 iOSDevUA

💡Нерозкрита можливість: як одночасно зробити скруглення і тінь у UIKit У UIKit це — відома проблема: неможливо легко поєднат
💡Нерозкрита можливість: як одночасно зробити скруглення і тінь у UIKit У UIKit це — відома проблема: неможливо легко поєднати скруглені кути та тінь без трюків. Але, як виявилось, є один секретний спосіб, хоч і з недокументованого API (тобто використовувати — на власний ризик). 🔍 CALayer має приховані властивості, які дозволяють керувати так званим “rim” — обводкою (але не border, яка малюється всередині в’ю). Це зовнішній ефект, який виглядає як м’яка тінь або світловий контур.
view.layer.setValue(true, forKey: "softRim")
view.layer.setValue(20, forKey: "rimWidth")
view.layer.setValue(UIColor.yellow.cgColor, forKey: "rimColor")
view.layer.setValue(1.0, forKey: "rimOpacity")
✨ На відміну від стандартного border, цей метод дозволяє: — розміщувати ефект поза межами вʼю — поєднувати скруглення + тінь без артефактів — змінювати ширину, колір і прозорість обводки ⚠️ Зверніть увагу: властивість не документована, тому існує ризик, що вона перестане працювати в майбутніх версіях iOS. Але якщо потрібен акуратний результат уже зараз — цей метод точно вартий уваги. 🇺🇦 iOSDevUA

💡Оновлений UIKit для iOS 26 — вже доступний у Figma та Sketch Apple виклала свіжі дизайн-ресурси для iOS та iPadOS 26 — з ак
💡Оновлений UIKit для iOS 26 — вже доступний у Figma та Sketch Apple виклала свіжі дизайн-ресурси для iOS та iPadOS 26 — з актуальними компонентами, стилями та гайдлайнами. 🛠 UIKit доступний для Figma та Sketch — ідеально підходить для створення макетів із урахуванням нових системних патернів, включаючи Liquid Glass та оновлену типографіку. Обов’язково до перегляду для дизайнерів і розробників, які хочуть тримати інтерфейси в актуальному вигляді під iOS 26. 🇺🇦 iOSDevUA

🔥Apple презентувала новий Retention Messaging API — інструмент для утримання підписників Apple представила Retention Messagi
🔥Apple презентувала новий Retention Messaging API — інструмент для утримання підписників Apple представила Retention Messaging API — новий інструмент, який дозволяє розробникам впливати на рішення користувача в момент, коли той переглядає підписку та може її скасувати. 🔧 Це особливо корисно як для інді‑розробників, так і для компаній, чий бізнес повністю тримається на підписках. Тепер можна кастомізувати, яке повідомлення показати, залежно від: — продукту — мови/регіону — ситуації користувача Доступні 4 формати повідомлень: 1. Текст 2. Текст + зображення 3. Пропозиція перейти на інший план (текст + нова підписка) 4. Промо‑офер з текстом та знижкою або альтернативним рівнем підписки 📖 Детальна документація вже доступна за посиланням: 👉 developer.apple.com/documentation/retentionmessaging Це перший крок до більш гнучкого керування втратою користувачів — прямо в межах екосистеми Apple. 🇺🇦 iOSDevUA

💡Чому Gmail важить 700 МБ — розбір від Emerge Tools За останній рік застосунок Gmail додав ще +100 МБ і тепер важить близько 700 МБ. На перший погляд це дивно — адже у застосунку, здається, лише кілька базових екранів. Команда Emerge Tools вирішила розібратись, звідки береться така вага, і показала, що саме «роздуває» застосунок: 📦 сторонні SDK 🎨 важкі ассети 🧱 дубльовані залежності 🛠 невидимі на перший погляд фреймворки Це ще раз доводить, що навіть прості ззовні застосунки можуть приховувати складну й об’ємну архітектуру всередині. Корисне нагадування для всіх розробників — слідкуйте за розміром вашого застосунку! 🇺🇦 iOSDevUA

💡Approachable Concurrency в Xcode 26 — що це і навіщо воно вам У Xcode 26 зʼявилась можливість увімкнути набір функцій із Swift 6.2 під спільною назвою Approachable Concurrency — тобто “доступна/зрозуміла конкурентність”. У статті детально пояснюється, що входить до цього набору, чому це важливо, і як це полегшує життя розробникам, які тільки починають працювати з async/await у Swift. 🧠 Коротко: це ініціатива, яка робить паралелізм у Swift безпечнішим, передбачуванішим і легшим у розумінні — без потреби глибоко занурюватися в актори та низькорівневу синхронізацію. Чудове введення для тих, хто хоче поступово освоїти сучасну конкурентність у Swift. 🇺🇦 iOSDevUA

💡Що нового в тестуванні у Swift 6.2 — детальний огляд Продовжуємо серію глибоких розборів усіх новинок у бета-релізах Xcode, iOS та Swift — цього разу фокус на Swift Testing, XCTest і автоматизоване тестування. У статті висвітлено: 🔹 що змінилося в інфраструктурі тестів у Swift 6.2 🔹 нові API та можливості, пов’язані з автотестами 🔹 майбутнє XCTest і напрямок розвитку Swift Testing Матеріал буде особливо корисним для тих, хто регулярно працює з тестами або планує міграцію на новий підхід у Swift Testing. 🇺🇦 iOSDevUA

💡Знайомимось із 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