🇺🇦 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
💡Абсолютна база: як працювати з нотифікаціями у Swift
Матеріал орієнтований на тих, хто лише починає знайомство з локальними push‑нотифікаціями в iOS.
У ньому покроково пояснюється, як:
🔹 Налаштувати повідомлення за розкладом (за часом)
🔹 Прив’язати нотифікацію до певної дати з календаря
🔹 Запускати сповіщення на основі геолокації користувача
Чітко, просто та з прикладами — ідеально для новачків, які хочуть додати базову підтримку нагадувань або контекстних сповіщень у свій застосунок.
🇺🇦 iOSDevUA
💡Як використовувати MetricKit в iOS для пошуку причин крашів і їх відлагодження
Відстежувати краші, які трапляються лише в продакшн-збірках, буває непросто. Стандартні підходи — наприклад, використання обробників помилок безпосередньо в застосунку — не завжди дають повну або точну картину.
Щоб вирішити цю проблему, Apple пропонує MetricKit — фреймворк, який працює поза межами процесу застосунку та збирає діагностичні дані на системному рівні.
Документація
Завдяки цьому можна фіксувати навіть ті збої, які залишаються непоміченими: через нестачу пам’яті, фонове завершення чи системні сигнали.
📖 У цій статті розповідається, як у кілька кроків налаштувати MetricKit, проаналізувати звіти й створити власну систему збереження таких логів.
🇺🇦 iOSDevUA
💡Swift: enum чи struct — що обрати для гнучкішого коду
Під час проєктування стану у Swift вибір між
enum і struct (або їх комбінацією) може суттєво вплинути на архітектуру, гнучкість і масштабованість коду.
📖 Деніел Саїді у своєму матеріалі детально пояснює переваги кожного підходу та дає рекомендації.
Коли краще обирати enum:
• Якщо існує чітко обмежений набір станів
• Коли потрібна повна перевірка під час компіляції
• Якщо стани взаємовиключні
• Коли треба використовувати патерн-матчинг зі зв’язаними значеннями
Коли варто використати struct:
• Якщо необхідна майбутня розширюваність
• Для реалізації конфігурацій або стилізації
• Якщо потрібна гнучкість у створенні нестандартних варіантів
• Коли потрібно зберігати складні стани з кількома властивостями
Матеріал стане у пригоді тим, хто хоче чітко обґрунтовувати архітектурні рішення у своїх Swift-проєктах.
🇺🇦 iOSDevUA💡Поєднання жестів та анімацій у SwiftUI
Жести — один із основних способів взаємодії користувача з застосунком. У SwiftUI їх можна не лише відслідковувати, а й використовувати як тригери для анімацій.
Наприклад, замість перемикання між двома фіксованими позиціями під час перетягування, оновлення положення в реальному часі зробить інтерфейс більш динамічним і чутливим до дій користувача.
Для обробки жестів у SwiftUI використовуються спеціальні модифікатори.
📖 У цьому матеріалі розглядаються практичні приклади реалізації, зокрема й анімація у вигляді хвилі.
🇺🇦 iOSDevUA
💡У 2024 році Apple видалила 146 000 акаунтів розробників
Згідно з звітом Apple, компанія продовжує активно боротися з шахрайством та порушеннями на платформі App Store.
Ось деякі ключові цифри:
🛑 1,9 млн білдів отримали відмову під час перевірки (з 7,7 млн надісланих)
📝 140 млн відгуків були видалені (з 1,2 млрд загалом)
👨💻 7 500 застосунків прибрали з чартів і 9 500 — з результатів пошуку
❌ 146 000 акаунтів розробників було повністю деактивовано
🔗 Повний звіт доступний за посиланням
🇺🇦 iOSDevUA
💡Універсальний гайд із Dependency Injection у модульному застосунку
У своєму блозі Pawel Kozielecki піднімає важливі питання: як грамотно керувати залежностями, чи справді Dependency Injection гарантує масштабованість і гнучкість проєкту в довгостроковій перспективі.
Особливу увагу він приділяє непростому аспекту — роботі з DI у багатомодульних застосунках, розглядаючи плюси та мінуси різних підходів і патернів.
Матеріал структуровано по блоках, що дозволяє зручно занурюватись у тему крок за кроком. Рекомендується всім, хто працює з модульною архітектурою в iOS.
🔘 Чому взагалі варто розглядати використання Dependency Injection у застосунках
Розгляд причин, чому DI може покращити масштабованість, тестованість і гнучкість архітектури.
🔘 Які типи DI доступні в Swift
Автор детально пояснює різновиди впровадження залежностей: через ініціалізатори, властивості, сервіси тощо.
🔘 Як впроваджувати DI у складних модульних iOS‑застосунках
Практичні рекомендації щодо побудови DI у великих проєктах з модульною архітектурою: як уникати tight coupling і підтримувати чисту структуру.
🇺🇦 iOSDevUA
💡Покращуємо текст помилок у Swift
ErrorKit — це бібліотека, що надає зручні інструменти для роботи з помилками у Swift. Вона вміє обгортати системні помилки та додавати до них зрозуміле пояснення. Наприклад, замість неінформативного
“The operation couldn’t be completed. (Cocoa error 133000.)”, ви отримаєте “The database has a validation error. One or more required fields are empty or have invalid values.”
У статті автор пояснює, як працює ця функціональність, і закликає спільноту допомогти з покращенням описів для сотень інших помилок.
🇺🇦 iOSDevUA💡Агентський режим у Copilot для Xcode
У новому оновленні GitHub Copilot зʼявилися дві ключові функції: підтримка MCP та агентський режим.
Як працює агентський режим:
👉 Copilot аналізує всю кодову базу, щоб краще зрозуміти ваш запит
👉 Створює план дій із покроковим виконанням задачі
👉 Ви затверджуєте план
👉 Інструмент самостійно редагує файли, запускає команди в терміналі та виправляє помилки
👉 Після завершення — формує звіт про всі зміни
Функція поки що в публічному прев’ю — тож саме час спробувати й залишити зворотний зв’язок!
🇺🇦 iOSDevUA
💡Нові функції доступності від Apple
Як і щороку у травні, Apple презентувала оновлення в сфері accessibility, які з’являться в майбутніх версіях iOS та macOS:
👉 Accessibility Nutrition Labels — спеціальний блок на сторінці застосунку в App Store зі списком підтримуваних функцій доступності
👉 Magnifier для macOS — можливість використовувати камеру iPhone як лупу для екрана Mac
👉 Accessibility Reader — новий режим для зручного читання контенту в будь-якому застосунку
👉 Vehicle Motion Cues — функція, що допомагає уникнути закачування під час користування ноутбуком у русі
Apple продовжує рухатись до більш інклюзивного цифрового середовища для всіх користувачів.
🇺🇦 iOSDevUA
💡Невеликий матеріал, у якому автор розмірковує про піки завантажень застосунку та пояснює, що таке Institutional purchases — як їх розпізнати й що вони можуть означати для вашого проєкту.
Корисне чтиво для тих, хто аналізує аналітику застосунків і хоче краще розуміти аномальні сплески активності.
👉 https://www.avanderlee.com/optimization/institutional-purchases-volume-purchase-program/
🇺🇦 iOSDevUA
💡Огляд AI‑інструментів для iOS‑розробників
iOS‑розробники поки що трохи осторонь від масового впровадження AI‑інструментів — як завжди, через закритість екосистеми. Повністю перейти, наприклад, на Cursor чи Windsurf складно — все одно доводиться відкривати Xcode.
Я регулярно ділюся в каналі актуальними інструментами для айосерів, але за цим посиланням — справді якісний і зібраний в одному місці огляд доступних AI‑рішень для iOS‑розробки. Рекомендується до перегляду.
🇺🇦 iOSDevUA
💡У Swift з’явилась нова керівна група — Swift Ecosystem Steering Group
У структуру Swift додали нову ключову команду — Swift Ecosystem Steering Group, яка відповідатиме за розвиток усієї екосистеми довкола мови.
У зону відповідальності входять:
🔧 SwiftPM
🛠 інструменти для збірки
🧪 тестування
🧰 тули на кшталт
swift-format
💡 інтеграція з IDE
Головна мета групи — зробити екосистему зручнішою для розробників і стимулювати появу ще більшої кількості корисних Swift‑пакетів.
🇺🇦 iOSDevUA💡Як працювати з @FocusState: приклади для одного та кількох текстових полів
Робота з текстовими полями — звична частина будь-якої форми: від авторизації до заповнення профілю.
І хоча іноді користувач має вручну активувати поле, є багато сценаріїв, коли потрібно автоматично перемикатися між полями. Тут у пригоді стане
@FocusState, доступний починаючи з iOS 15.
📖 У статті пояснюються приклади використання — як для одного поля, так і для кількох.
🛠 А тут можна завантажити демо-проєкт.
Ідеально для тих, хто хоче покращити UX при роботі з формами! ✍️📱
🇺🇦 iOSDevUA💡Xtool — кросплатформена альтернатива Xcode
Xtool дозволяє збирати та підписувати iOS‑застосунки без Xcode — і робити це з будь‑якої операційної системи, включно з Linux.
🛠 Детальний гайд для початку роботи — тут.
Справжній прорив для кросплатформених пайплайнів і розробників, які хочуть виходити за межі macOS.
🇺🇦 iOSDevUA
💡MCP-сервер для xcodebuild
З’явився ще один корисний MCP‑сервер для iOS‑розробників! Тепер будь-який AI‑чат із підтримкою MCP (наприклад, Claude Desktop, Cursor, Windsurf тощо) може напряму взаємодіяти з інструментами збірки Xcode:
👉 Запускати збірки, включно з інкрементальними
👉 Керувати симуляторами
👉 Отримувати логи збірки
👉 Працювати з метаінформацією про проєкт
Ще один крок до повноцінної AI‑автоматизації мобільної розробки.
🇺🇦 iOSDevUA
💡Xodot — Godot-редактор для iPad
Цікаві новинки серед інструментів для розробників з’являються не лише в сфері AI. Минулого тижня в App Store вийшов Xodot — повноцінний редактор для ігрового рушія Godot, адаптований під iPad.
У ньому вже доступні всі ключові функції:
🎮 Редактор коду
🧩 Редактори 2D та 3D сцен
🐞 Дебаггер
🌐 Експорт у WebAssembly з можливістю запуску гри прямо в браузері
Чудовий варіант для тих, хто хоче створювати ігри напряму з планшета.
🇺🇦 iOSDevUA
Цікаво почитати, але краще не повторювати 🙃
У цьому дописі розповідається про те, як один рядок коду може повністю вивести ваш iPhone з ладу.
Матеріал скоріше навчальний (або попереджувальний), ніж практичний — тож радимо ознайомитись, але не експериментувати самостійно.
🇺🇦 iOSDevUA
💡Контроль розміру застосунку з Tuist
Нові фічі, додаткові ассети та зростаюча кодова база неминуче збільшують розмір застосунку.
Tuist пропонує нову функцію для аналізу складу бандлу: вона допомагає виявити дублікати ресурсів, неоптимізовані файли, легасі-код та зайві залежності.
📖 Детальніше можна прочитати у блозі або переглянути відеоогляд.
Основний аналіз виконується локально за допомогою нової бібліотеки Rosalind, а командою
tuist inspect bundle --json можна отримати повний JSON-звіт напряму з Rosalind.
🇺🇦 iOSDevUA💡Що таке формат USD і як з ним працювати у Xcode
USD (Universal Scene Description) — це відкритий файловий формат від Pixar, призначений для опису складних 3D‑сцен та об’єктів. Саме він лежить в основі visionOS і активно використовується для створення простору в доповненій реальності.
У статті детально пояснюється, як влаштований цей формат, і як із ним можна працювати безпосередньо у Xcode.
🇺🇦 iOSDevUA
💡Airbnb представила Lava — новий медіаформат, як альтернатива Lottie
Рамон Фрітш анонсував новий формат Lava, який має забезпечити прозору анімацію з підтримкою на web, iOS та Android.
У вже оновленому застосунку Airbnb Lava активно використовується для нових візуальних ефектів. Проте, на мій погляд, формат ще потребує доопрацювання — місцями відчуваються підфризи.
🎆 Приклади анімацій можна подивитися тут і тут (формат поки не у відкритому доступі).
🇺🇦 iOSDevUA
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
