🇺🇦 iOS Dev UA - спільнота iOS розробників
Ir al canal en Telegram
Перша україномовна спільнота iOS розробників 🇺🇦 👨💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel
Mostrar más384
Suscriptores
Sin datos24 horas
+37 días
+1130 días
Archivo de publicaciones
💡Передавання даних у SwiftUI: порівняння підходів
📖 Маттео Манфердіні ділиться базовими принципами збереження та передачі інформації всередині застосунку.
Він порівнює різні флоу обміну даними й підходи до властивостей — від сесії WWDC19 до варіанта Криса Ейдхофа, структуруючи матеріал у кілька великих розділів:
➡️ Архітектура та “джерела правди”: де має жити істинний стан застосунку
➡️ Передавання значень у View: пропси, environment, bindings
➡️ Створення та керування станом: @State, @StateObject, @ObservedObject, @EnvironmentObject
➡️ Обхід дерева View: коли підіймаємо стан вище та як уникати проп-ланцюгів
Зручний конспект для тих, хто хоче вибудувати прозорий data flow у SwiftUI без «магії» та зайвих залежностей.
🇺🇦 iOSDevUA
💡Як тестувати iOS-застосунки в Zed
Продовження серії про налаштування Zed для повноцінної iOS-розробки: цього разу — як конфігурувати запуск тестів для застосунків і Swift-пакетів.
Деталі та покрокові інструкції тут 👉 https://luxmentis.org/blog/test-xcode-apps-in-zed/.
🇺🇦 iOSDevUA
💡Створення UIKit-застосунку зі стилем Liquid Glass
Більшість великих проєктів поки не переходять на нову стилістику, але деякі топ-апки (наприклад, Telegram) уже частково оновлюють ключові компоненти.
Якщо дизайн поки оновлювати не плануєте — нещодавно я писав, як вимкнути «скляний» стиль для ваших проєктів.
А от якщо ви готуєтеся адоптити можливості iOS 26, варто знати кілька порад.
Наприклад, щоб прибрати ефект скла для кнопок у навбарі, можна використати hidesSharedBackground
А щоб візуально розділити групи кнопок, додайте .fixedSpace().
📖 Ще більше корисних фіч — у цьому розборі:
https://appcircle.io/blog/wwdc25-build-a-uikit-app-with-the-new-liquid-glass-design.
Перехід у будь-якому разі буде не надто швидким (потрібно підтримувати і старі опції), але, як бачимо, для UIKit нові можливості цілком реально впроваджувати вже зараз.
🇺🇦 iOSDevUA
💡Про увагу до деталей від Apple
З кожним новим релізом macOS та iOS легендарна «увага до дрібниць» у Apple, здається, тане. Останній випуск із Liquid Glass лише погіршив ситуацію — як у загальному UX, так і за планкою якості. У статті — найпоказовіші приклади того, наскільки все просіло.
🇺🇦 iOSDevUA
💡Memory Integrity Enforcement — нова технологія безпеки від Apple
Наші пристрої зберігають багато конфіденційних даних, тож їх потрібно захищати. Якщо у застосунку є вразливості, зловмисники можуть використати їх, аби дістатися до даних у вашому app або його розширеннях.
Багато команд проходять регулярні аудити безпеки й перевіряють джейлбрейк чи наявність підозрілих процесів. Нещодавно в Xcode з’явилася опція Enhanced Security (її можна увімкнути в проєкті), що допомагає прибрати чимало поширених ризиків.
Тепер Apple представила Memory Integrity Enforcement (MIE) — підхід, який не лише підсилює захист, а й допомагає виявляти складні для діагностики помилки роботи з пам’яттю та усувати їх у коді.
📺 Переглянути сесію можна на сайті Apple або на YouTube.
📖 Додатковий розбір.
🇺🇦 iOSDevUA
💡Swift Transformers 1.0
Бібліотека swift-transformers від Hugging Face, що спрощує роботу з локальними LLM на Swift, отримала перший стабільний реліз. Окрім базових примітивів для інференсу й керування моделями, з її допомогою можна завантажувати та піднімати в пам’яті будь-які моделі з Hugging Face.
🇺🇦 iOSDevUA
💡Приклади використання Foundation Models Framework
Нещодавно я ділився прикладом з улюбленого застосунку рецептів, де Foundation Models допомагають структурувати контент. А Apple підготувала свою добірку кейсів: від спрощеного логування силових тренувань до підбору музики за вмістом відео — все прямо на пристрої з повагою до приватності.
🇺🇦 iOSDevUA
📦 xcsift — оптимізація логів Xcode для AI
Контекст — водночас найкорисніший і найдорожчий ресурс у роботі з AI-агентами: надто великий контекст погіршує якість відповіді й підвищує вартість кожного запиту до LLM.
xcsift — це CLI-утиліта, що перетворює логи xcodebuild на короткий, зрозумілий JSON із усією ключовою інформацією. Менше шуму → менше токенів → дешевші й точніші AI-ітерації.
🇺🇦 iOSDevUA
💡Як керувати контекстом у Foundation Models
Дуже докладні Tech Notes від Apple про найкращі практики оптимізації малого контекстного вікна локальної LLM: як стискати підказки, прибирати зайве, використовувати резюме та ключові токени, щоб умістити максимум корисних даних.
🇺🇦 iOSDevUA
💡Кешування зображень у SwiftUI
Ще з iOS 15 з’явився дуже корисний
AsyncImage (дозволяє завантажувати картинки без блокування інтерфейсу), але є нюанс: під час швидкого скролу вгору-вниз зображення може завантажуватися повторно.
У таких випадках без кешу не обійтися. Часто бачу, як заради цього підтягують зайві залежності, хоча все значно простіше — особливо, якщо нам достатньо кешу лише в пам’яті (а запис на диск додає не так вже й багато складності).
📖 У цій статті розглянуто базовий, але дієвий підхід із використанням NSCache та його налаштування — чудово підходить для новачків:
https://www.createwithswift.com/image-caching-in-swiftui/
🇺🇦 iOSDevUA💡Swift Profile Recorder
В екосистемі серверного Swift з’являються нові офіційні інструменти. Цього разу — in-process профілювальник, який просто вбудовується в будь-який сервіс і віддає результати профілювання через cURL-запити. Ідеально для швидкої діагностики продуктивності без складного оверхеду.
🇺🇦 iOSDevUA
💡Відтворюємо ефект Apple Intelligence — розбір + код
В новій iOS можна помітити анімований контурний «glow», який динамічно підсвічує форми та компоненти.
📖 У цьому розборі автор пробує відтворити ефект у SwiftUI за допомогою поєднання модифікаторів background і overlay, а також ділиться готовим розширенням:
https://livsycode.com/swiftui/an-apple-intelligence-style-glow-effect-in-swiftui/
🛠 Код доступний тут:
https://github.com/Livsy90/IntelligenceGlow/tree/main
🇺🇦 iOSDevUA
💡Чому зміна розміру зображень на macOS у 5 разів повільніша, ніж на iOS
Дуже якісне пояснення, чому ресайз через
NSImage на macOS займає неприйнятно багато часу, тоді як у симуляторі iOS все працює блискавично. Розбір причин і більш швидких підходів (зокрема через CGImageSource) — всередині.
🇺🇦 iOSDevUA💡Легка демонстрація «липкого» ефекту в SwiftUI
📖 Мінсан Чой поділився оригінальним підходом до реалізації gooey-ефекту в інтерфейсі — і все це без Metal 😉
Дивитися пост
🛠 Вихідний код доступний на GitHub:
radiofun/gooeyblobs — Gooey.swift.
🇺🇦 iOSDevUA
💡Створення кастомних контролів у SwiftUI
У порівнянні з UIKit сьогодні набагато простіше зібрати власний елемент керування — під будь-які потреби.
Джордан Морган пропонує підхід, де кожен контрол має відповідати трьом правилам:
1️⃣ Легко вивчити — якщо взаємодія неочевидна, користувачі нею не користуватимуться.
2️⃣ Запам’ятовуваність — якщо немає сильної причини відходити від системного UI, варто двічі подумати, перш ніж робити своє.
3️⃣ Доступність — елемент має працювати для всіх; якщо це неможливо, можливо, його не слід реалізовувати.
🇺🇦 iOSDevUA
💡Немає нічого гіршого за Xcode
Якщо раптом забули — ось нагадування: мало хто робить гірший дев-тулчейн, ніж Apple, і з роками ситуація, здається, лише погіршується.
🇺🇦 iOSDevUA
💡AppMigrationKit — новий фреймворк для перенесення даних на Android
Експансія Apple триває: щойно анонсували фреймворк для експорту даних застосунку на інший пристрій або імпорту з іншої платформи.
Щоб брати участь у кросплатформенній міграції, потрібно зробити розширення, що відповідає протоколу AppMigrationExtension і принаймні одному з його підпротоколів. Вони визначають, чи застосунок імпортує, експортує, або робить обидва.
Поки деталей небагато, але ключові умови вже відомі:
• AppMigrationKit підтримує міграцію лише з/на не-Apple платформи (наприклад, Android).
• Система не використовує фреймворк для перенесення між пристроями iOS чи iPadOS.
• Немає функціональності у додатках iOS, що працюють у visionOS або macOS на Apple silicon.
• Виклики з Mac Catalyst ігноруються.
📖 Інші подробиці — в офіційній документації: https://developer.apple.com/documentation/appmigrationkit.
🇺🇦 iOSDevUA
💡Підтримка автодоповнення в Swift Argument Parser
Swift Argument Parser — бібліотека для створення CLI-утиліт на Swift із зручними механізмами опису вхідних параметрів. І найприємніше: якщо ви вже її використовуєте, майже «задарма» отримуєте автокомпліт команд і їхніх аргументів у терміналі. Це помітно пришвидшує роботу й зменшує кількість помилок у ввідних параметрах.
🇺🇦 iOSDevUA
💡Реалізація перетягування елементів у SwiftUI
Застосувань цьому механізму безліч: від впорядкування фото в альбомах до побудови таск-менеджера на кшталт Trello.
Підхід із використанням стандартних модифікаторів onDrag та onDrop має низку переваг.
Зокрема, коли нам важлива робота з даними (а не лише візуальне пересування елементів) і коли застосунок оперує складними структурами даних.
📖 У цьому матеріалі — покрокова реалізація на реальному прикладі, яка демонструє, як організувати drag & drop із коректним оновленням моделі.
🇺🇦 iOSDevUA
📦 Керуємо симуляторами через CLI
AXe — це консольний тул для керування iOS-симулятором через механізми accessibility. З його допомогою можна емулявати натискання, вводити текст, виконувати жести та багато інших дій прямо з терміналу.
Чому це корисно
• Дозволяє автоматизувати тестування інтерфейсів і поведінки застосунку.
• Підтримує широкий набір команд, які імітують дії користувача.
• Може бути інтегрований у пайплайни CI/CD або використаний для експериментів із AI-агентами, які зможуть самостійно перевіряти роботу вашої апки.
🚀 Виглядає як потужний інструмент для тих, хто хоче підняти автоматизацію тестів на новий рівень і делегувати рутинні перевірки агентам або скриптам.
🇺🇦 iOSDevUA
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
