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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Немає нічого гіршого за Xcode

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

🇺🇦 iOSDevUA
🤡1
💡Створення кастомних контролів у SwiftUI

У порівнянні з UIKit сьогодні набагато простіше зібрати власний елемент керування — під будь-які потреби.

Джордан Морган пропонує підхід, де кожен контрол має відповідати трьом правилам:

1️⃣ Легко вивчити — якщо взаємодія неочевидна, користувачі нею не користуватимуться.

2️⃣ Запам’ятовуваність — якщо немає сильної причини відходити від системного UI, варто двічі подумати, перш ніж робити своє.

3️⃣ Доступність — елемент має працювати для всіх; якщо це неможливо, можливо, його не слід реалізовувати.

🇺🇦 iOSDevUA
2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Легка демонстрація «липкого» ефекту в SwiftUI

📖 Мінсан Чой поділився оригінальним підходом до реалізації gooey-ефекту в інтерфейсі — і все це без Metal 😉
Дивитися пост

🛠 Вихідний код доступний на GitHub:
radiofun/gooeyblobs — Gooey.swift.

🇺🇦 iOSDevUA
11
💡Чому зміна розміру зображень на macOS у 5 разів повільніша, ніж на iOS

Дуже якісне пояснення, чому ресайз через NSImage на macOS займає неприйнятно багато часу, тоді як у симуляторі iOS все працює блискавично. Розбір причин і більш швидких підходів (зокрема через CGImageSource) — всередині.

🇺🇦 iOSDevUA
👍1
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