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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
💡Відтворюємо ефект 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
💡Swift Profile Recorder

В екосистемі серверного Swift з’являються нові офіційні інструменти. Цього разу — in-process профілювальник, який просто вбудовується в будь-який сервіс і віддає результати профілювання через cURL-запити. Ідеально для швидкої діагностики продуктивності без складного оверхеду.

🇺🇦 iOSDevUA
💡Кешування зображень у SwiftUI

Ще з iOS 15 з’явився дуже корисний AsyncImage (дозволяє завантажувати картинки без блокування інтерфейсу), але є нюанс: під час швидкого скролу вгору-вниз зображення може завантажуватися повторно.

У таких випадках без кешу не обійтися. Часто бачу, як заради цього підтягують зайві залежності, хоча все значно простіше — особливо, якщо нам достатньо кешу лише в пам’яті (а запис на диск додає не так вже й багато складності).

📖 У цій статті розглянуто базовий, але дієвий підхід із використанням NSCache та його налаштування — чудово підходить для новачків:
https://www.createwithswift.com/image-caching-in-swiftui/

🇺🇦 iOSDevUA
💡Як керувати контекстом у Foundation Models

Дуже докладні Tech Notes від Apple про найкращі практики оптимізації малого контекстного вікна локальної LLM: як стискати підказки, прибирати зайве, використовувати резюме та ключові токени, щоб умістити максимум корисних даних.

🇺🇦 iOSDevUA
📦 xcsift — оптимізація логів Xcode для AI

Контекст — водночас найкорисніший і найдорожчий ресурс у роботі з AI-агентами: надто великий контекст погіршує якість відповіді й підвищує вартість кожного запиту до LLM.

xcsift — це CLI-утиліта, що перетворює логи xcodebuild на короткий, зрозумілий JSON із усією ключовою інформацією. Менше шуму → менше токенів → дешевші й точніші AI-ітерації.

🇺🇦 iOSDevUA
2
💡Приклади використання Foundation Models Framework

Нещодавно я ділився прикладом з улюбленого застосунку рецептів, де Foundation Models допомагають структурувати контент. А Apple підготувала свою добірку кейсів: від спрощеного логування силових тренувань до підбору музики за вмістом відео — все прямо на пристрої з повагою до приватності.

🇺🇦 iOSDevUA
💡Swift Transformers 1.0

Бібліотека swift-transformers від Hugging Face, що спрощує роботу з локальними LLM на Swift, отримала перший стабільний реліз. Окрім базових примітивів для інференсу й керування моделями, з її допомогою можна завантажувати та піднімати в пам’яті будь-які моделі з Hugging Face.

🇺🇦 iOSDevUA
💡Memory Integrity Enforcement — нова технологія безпеки від Apple

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

Багато команд проходять регулярні аудити безпеки й перевіряють джейлбрейк чи наявність підозрілих процесів. Нещодавно в Xcode з’явилася опція Enhanced Security (її можна увімкнути в проєкті), що допомагає прибрати чимало поширених ризиків.

Тепер Apple представила Memory Integrity Enforcement (MIE) — підхід, який не лише підсилює захист, а й допомагає виявляти складні для діагностики помилки роботи з пам’яттю та усувати їх у коді.

📺 Переглянути сесію можна на сайті Apple або на YouTube.
📖 Додатковий розбір.

🇺🇦 iOSDevUA
💡Про увагу до деталей від Apple

З кожним новим релізом macOS та iOS легендарна «увага до дрібниць» у Apple, здається, тане. Останній випуск із Liquid Glass лише погіршив ситуацію — як у загальному UX, так і за планкою якості. У статті — найпоказовіші приклади того, наскільки все просіло.

🇺🇦 iOSDevUA
💯3
💡Створення 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
💡Як тестувати iOS-застосунки в Zed

Продовження серії про налаштування Zed для повноцінної iOS-розробки: цього разу — як конфігурувати запуск тестів для застосунків і Swift-пакетів.

Деталі та покрокові інструкції тут 👉 https://luxmentis.org/blog/test-xcode-apps-in-zed/.

🇺🇦 iOSDevUA
1
💡Передавання даних у SwiftUI: порівняння підходів

📖 Маттео Манфердіні ділиться базовими принципами збереження та передачі інформації всередині застосунку.
Він порівнює різні флоу обміну даними й підходи до властивостей — від сесії WWDC19 до варіанта Криса Ейдхофа, структуруючи матеріал у кілька великих розділів:

➡️ Архітектура та “джерела правди”: де має жити істинний стан застосунку
➡️ Передавання значень у View: пропси, environment, bindings
➡️ Створення та керування станом: @State, @StateObject, @ObservedObject, @EnvironmentObject
➡️ Обхід дерева View: коли підіймаємо стан вище та як уникати проп-ланцюгів

Зручний конспект для тих, хто хоче вибудувати прозорий data flow у SwiftUI без «магії» та зайвих залежностей.

🇺🇦 iOSDevUA
1
💡Нове розширення для фонового завантаження ресурсів в iOS 26.1

➡️ В iOS 26.1 у PhotoKit (поки що лише там, сподіваємось на розширення в майбутньому) з’явився новий тип розширень — Background Resource Upload.

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

Бонуси: автоматичне керування мережею, енергозаощадженням і таймінгами — все, щоб забезпечити надійну доставку без вашого ручного мікроменеджменту.

📖 Приклад коду та офіційна документація.

🇺🇦 iOSDevUA
4👍2
💡Swift SDK для Android уже доступний

📖 Оголошено попередні (nightly) збірки Swift SDK для Android.

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

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Трансформація Glass Views за допомогою glassEffectID

Серед нових API для побудови інтерфейсів виділяється модифікатор glassEffectID.

З ним можна реалізувати плавні переходи між в’юшками — наприклад, «розділяти» одну кнопку на кілька і навпаки.
Як і завжди, є умови: зокрема, потрібно використовувати GlassEffectContainer.

📖 Зрозумілий приклад застосування
🛠 Код демо-проєкту.

Як застосувати Liquid Glass до кастомних в’юшок — дивіться в офіційній документації.

🇺🇦 iOSDevUA
2
📊 Які розміри шрифтів обирають користувачі

Команда застосунку Flighty, який має велику базу користувачів, поділилася цікавою аналітикою: які розміри системних шрифтів найчастіше обирають люди в налаштуваннях iOS.

Також наведено відсоток користувачів, що активно використовують accessibility-функції, пов’язані зі шрифтами — масштабування, динамічний текст та інші параметри доступності.

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

🇺🇦 iOSDevUA
1
💡Apple Dev таймлайн — усі зміни з WWDC

Ділюся сайтом, де зібрано, які фреймворки та користувацькі оновлення представили на кожному WWDC починаючи з 2015 року. Зручно простежити еволюцію платформ і швидко знаходити потрібні релізи.

Дивитися тут 👉 https://www.whatsnewinwwdc.com/

🇺🇦 iOSDevUA
3
💡Економіка self-hosted CI

GitHub дозволяє підключати self-hosted ранери для виконання GitHub Actions — тобто використовувати власні Mac mini або інші сервери замість хмарних.

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

Як результат — нижча вартість, швидші збірки й повний контроль над середовищем виконання.

🇺🇦 iOSDevUA
🔥1
💡Доповідь про Swift на Android

Swift на Android продовжує розвиватися та набирати популярність. Якщо ви не дуже стежили за темою, раджу переглянути якісний оглядовий виступ з нещодавньої NSSpain.

🇺🇦 iOSDevUA
💡Роадмапа роботи тайп-чекера в Swift і плани на його покращення

Нарешті в одному місці з’явилося детальне пояснення не лише поточних проблем, а й загалом того, як влаштований тайп-чекер у Swift.

📖 В офіційній документації вийшов великий пост від Слави Пєстова, де описано, що вже зроблено для оптимізації перевірки типів у компіляторі, що в роботі зараз і що планується далі.

Туди входять:
• зміни, реалізовані в Swift 6.2;
• те, що вже в main-гілці;
• завдання, заплановані для Swift 6.3;
• і навіть попередні довгострокові плани розвитку.

Йдеться про ту саму ситуацію, коли компілятор видає:
“The compiler is unable to type-check this expression in reasonable time.”


Слава розклав усе по категоріях і пояснив ключові аспекти:

➡️ Перевантаження — які взагалі типи перевантаження Swift дозволяє.
➡️ Розв’язування обмежень — як компілятор визначає типи під час компіляції.
➡️ Алгоритмічна складність — чому певні вирази можуть різко «зависати».
➡️ Що означає “reasonable time”.
➡️ Робота з некоректними виразами та діагностика.
➡️ Цілі й нецілі оновлень.
➡️ Поліпшення у Swift 6.2.
➡️ Що заплановано у Swift 6.3.
➡️ Майбутні покращення — оптимізація біндінгів, видалення старих хаків тощо.
➡️ Довгострокові плани.

Цей документ — must-read для тих, хто хоче зрозуміти, чому іноді компілятор “задумується” і як Swift рухається до більш стабільної та швидкої перевірки типів.

🇺🇦 iOSDevUA
2
🎬 Доповіді з конференції Swift Connection 2025

У відкритому доступі з’явився список виступів із цьогорічної паризької конференції. Серед найцікавіших:

📺 Що насправді відбувається з вашим iOS-застосунком під час компіляції
У сесії розглядають файли .xcarchive та .ipa, показуючи, що саме Xcode робить із вихідним кодом. Також пояснюють процес компіляції, роботу з Mach-O, Info.plist, метаданими Obj-C/Swift та іншими компонентами.

📺 Покращена обробка помилок у Swift: від Obj-C Legacy до Swift 6
Автор ділиться тим, чому навіть LocalizedError не завжди є надійним рішенням, і як виглядає справді нативна обробка помилок у Swift.

📺 Дивовижний світ приватних API
У доповіді пояснюють не лише, як працюють приватні API, а й як їх шукати та використовувати в Objective-C (і навіть пробувати у Swift).

📺 Створення iOS-застосунків без Xcode за допомогою Cursor + Claude
У лекції розповідають про Cursor, Claude Code та показують, як налаштувати проєкт для збірки поза межами Xcode.

🇺🇦 iOSDevUA