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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Контроль розміру застосунку з Tuist

Нові фічі, додаткові ассети та зростаюча кодова база неминуче збільшують розмір застосунку.

Tuist пропонує нову функцію для аналізу складу бандлу: вона допомагає виявити дублікати ресурсів, неоптимізовані файли, легасі-код та зайві залежності.

📖 Детальніше можна прочитати у блозі або переглянути відеоогляд.

Основний аналіз виконується локально за допомогою нової бібліотеки Rosalind, а командою tuist inspect bundle --json можна отримати повний JSON-звіт напряму з Rosalind.

🇺🇦 iOSDevUA
3
Цікаво почитати, але краще не повторювати 🙃

У цьому дописі розповідається про те, як один рядок коду може повністю вивести ваш iPhone з ладу.

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

🇺🇦 iOSDevUA
👍1
💡Xodot — Godot-редактор для iPad

Цікаві новинки серед інструментів для розробників з’являються не лише в сфері AI. Минулого тижня в App Store вийшов Xodot — повноцінний редактор для ігрового рушія Godot, адаптований під iPad.

У ньому вже доступні всі ключові функції:
🎮 Редактор коду
🧩 Редактори 2D та 3D сцен
🐞 Дебаггер
🌐 Експорт у WebAssembly з можливістю запуску гри прямо в браузері

Чудовий варіант для тих, хто хоче створювати ігри напряму з планшета.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡MCP-сервер для xcodebuild

З’явився ще один корисний MCP‑сервер для iOS‑розробників! Тепер будь-який AI‑чат із підтримкою MCP (наприклад, Claude Desktop, Cursor, Windsurf тощо) може напряму взаємодіяти з інструментами збірки Xcode:

👉 Запускати збірки, включно з інкрементальними
👉 Керувати симуляторами
👉 Отримувати логи збірки
👉 Працювати з метаінформацією про проєкт

Ще один крок до повноцінної AI‑автоматизації мобільної розробки.

🇺🇦 iOSDevUA
3
💡Xtool — кросплатформена альтернатива Xcode

Xtool дозволяє збирати та підписувати iOS‑застосунки без Xcode — і робити це з будь‑якої операційної системи, включно з Linux.

🛠 Детальний гайд для початку роботи — тут.

Справжній прорив для кросплатформених пайплайнів і розробників, які хочуть виходити за межі macOS.

🇺🇦 iOSDevUA
👍3👀1
💡Як працювати з @FocusState: приклади для одного та кількох текстових полів

Робота з текстовими полями — звична частина будь-якої форми: від авторизації до заповнення профілю.

І хоча іноді користувач має вручну активувати поле, є багато сценаріїв, коли потрібно автоматично перемикатися між полями. Тут у пригоді стане @FocusState, доступний починаючи з iOS 15.

📖 У статті пояснюються приклади використання — як для одного поля, так і для кількох.
🛠 А тут можна завантажити демо-проєкт.

Ідеально для тих, хто хоче покращити UX при роботі з формами! ✍️📱

🇺🇦 iOSDevUA
👍1
💡У Swift з’явилась нова керівна група — Swift Ecosystem Steering Group

У структуру Swift додали нову ключову команду — Swift Ecosystem Steering Group, яка відповідатиме за розвиток усієї екосистеми довкола мови.

У зону відповідальності входять:
🔧 SwiftPM
🛠 інструменти для збірки
🧪 тестування
🧰 тули на кшталт swift-format
💡 інтеграція з IDE

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

🇺🇦 iOSDevUA
💡Огляд AI‑інструментів для iOS‑розробників

iOS‑розробники поки що трохи осторонь від масового впровадження AI‑інструментів — як завжди, через закритість екосистеми. Повністю перейти, наприклад, на Cursor чи Windsurf складно — все одно доводиться відкривати Xcode.

Я регулярно ділюся в каналі актуальними інструментами для айосерів, але за цим посиланням — справді якісний і зібраний в одному місці огляд доступних AI‑рішень для iOS‑розробки. Рекомендується до перегляду.

🇺🇦 iOSDevUA
💡Невеликий матеріал, у якому автор розмірковує про піки завантажень застосунку та пояснює, що таке Institutional purchases — як їх розпізнати й що вони можуть означати для вашого проєкту.

Корисне чтиво для тих, хто аналізує аналітику застосунків і хоче краще розуміти аномальні сплески активності.

👉 https://www.avanderlee.com/optimization/institutional-purchases-volume-purchase-program/

🇺🇦 iOSDevUA
💡Нові функції доступності від Apple

Як і щороку у травні, Apple презентувала оновлення в сфері accessibility, які з’являться в майбутніх версіях iOS та macOS:

👉 Accessibility Nutrition Labels — спеціальний блок на сторінці застосунку в App Store зі списком підтримуваних функцій доступності
👉 Magnifier для macOS — можливість використовувати камеру iPhone як лупу для екрана Mac
👉 Accessibility Reader — новий режим для зручного читання контенту в будь-якому застосунку
👉 Vehicle Motion Cues — функція, що допомагає уникнути закачування під час користування ноутбуком у русі

Apple продовжує рухатись до більш інклюзивного цифрового середовища для всіх користувачів.

🇺🇦 iOSDevUA
1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Агентський режим у Copilot для Xcode

У новому оновленні GitHub Copilot зʼявилися дві ключові функції: підтримка MCP та агентський режим.

Як працює агентський режим:
👉 Copilot аналізує всю кодову базу, щоб краще зрозуміти ваш запит
👉 Створює план дій із покроковим виконанням задачі
👉 Ви затверджуєте план
👉 Інструмент самостійно редагує файли, запускає команди в терміналі та виправляє помилки
👉 Після завершення — формує звіт про всі зміни

Функція поки що в публічному прев’ю — тож саме час спробувати й залишити зворотний зв’язок!

🇺🇦 iOSDevUA
2
💡Покращуємо текст помилок у 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
4
💡Універсальний гайд із Dependency Injection у модульному застосунку

У своєму блозі Pawel Kozielecki піднімає важливі питання: як грамотно керувати залежностями, чи справді Dependency Injection гарантує масштабованість і гнучкість проєкту в довгостроковій перспективі.

Особливу увагу він приділяє непростому аспекту — роботі з DI у багатомодульних застосунках, розглядаючи плюси та мінуси різних підходів і патернів.

Матеріал структуровано по блоках, що дозволяє зручно занурюватись у тему крок за кроком. Рекомендується всім, хто працює з модульною архітектурою в iOS.

🔘 Чому взагалі варто розглядати використання Dependency Injection у застосунках
Розгляд причин, чому DI може покращити масштабованість, тестованість і гнучкість архітектури.

🔘 Які типи DI доступні в Swift
Автор детально пояснює різновиди впровадження залежностей: через ініціалізатори, властивості, сервіси тощо.

🔘 Як впроваджувати DI у складних модульних iOS‑застосунках
Практичні рекомендації щодо побудови DI у великих проєктах з модульною архітектурою: як уникати tight coupling і підтримувати чисту структуру.

🇺🇦 iOSDevUA
👍31
This media is not supported in your browser
VIEW IN TELEGRAM
💡У 2024 році Apple видалила 146 000 акаунтів розробників

Згідно з звітом Apple, компанія продовжує активно боротися з шахрайством та порушеннями на платформі App Store.

Ось деякі ключові цифри:

🛑 1,9 млн білдів отримали відмову під час перевірки (з 7,7 млн надісланих)
📝 140 млн відгуків були видалені (з 1,2 млрд загалом)
👨‍💻 7 500 застосунків прибрали з чартів і 9 500 — з результатів пошуку
146 000 акаунтів розробників було повністю деактивовано

🔗 Повний звіт доступний за посиланням

🇺🇦 iOSDevUA
🤯2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Поєднання жестів та анімацій у SwiftUI

Жести — один із основних способів взаємодії користувача з застосунком. У SwiftUI їх можна не лише відслідковувати, а й використовувати як тригери для анімацій.

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

Для обробки жестів у SwiftUI використовуються спеціальні модифікатори.

📖 У цьому матеріалі розглядаються практичні приклади реалізації, зокрема й анімація у вигляді хвилі.

🇺🇦 iOSDevUA
3
💡Swift: enum чи struct — що обрати для гнучкішого коду

Під час проєктування стану у Swift вибір між enum і struct (або їх комбінацією) може суттєво вплинути на архітектуру, гнучкість і масштабованість коду.

📖 Деніел Саїді у своєму матеріалі детально пояснює переваги кожного підходу та дає рекомендації.

Коли краще обирати enum:
• Якщо існує чітко обмежений набір станів
• Коли потрібна повна перевірка під час компіляції
• Якщо стани взаємовиключні
• Коли треба використовувати патерн-матчинг зі зв’язаними значеннями

Коли варто використати struct:
• Якщо необхідна майбутня розширюваність
• Для реалізації конфігурацій або стилізації
• Якщо потрібна гнучкість у створенні нестандартних варіантів
• Коли потрібно зберігати складні стани з кількома властивостями

Матеріал стане у пригоді тим, хто хоче чітко обґрунтовувати архітектурні рішення у своїх Swift-проєктах.

🇺🇦 iOSDevUA
👍2
💡Як використовувати MetricKit в iOS для пошуку причин крашів і їх відлагодження

Відстежувати краші, які трапляються лише в продакшн-збірках, буває непросто. Стандартні підходи — наприклад, використання обробників помилок безпосередньо в застосунку — не завжди дають повну або точну картину.

Щоб вирішити цю проблему, Apple пропонує MetricKit — фреймворк, який працює поза межами процесу застосунку та збирає діагностичні дані на системному рівні.
Документація

Завдяки цьому можна фіксувати навіть ті збої, які залишаються непоміченими: через нестачу пам’яті, фонове завершення чи системні сигнали.

📖 У цій статті розповідається, як у кілька кроків налаштувати MetricKit, проаналізувати звіти й створити власну систему збереження таких логів.

🇺🇦 iOSDevUA
💡Абсолютна база: як працювати з нотифікаціями у Swift

Матеріал орієнтований на тих, хто лише починає знайомство з локальними push‑нотифікаціями в iOS.

У ньому покроково пояснюється, як:
🔹 Налаштувати повідомлення за розкладом (за часом)
🔹 Прив’язати нотифікацію до певної дати з календаря
🔹 Запускати сповіщення на основі геолокації користувача

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

🇺🇦 iOSDevUA
2
💡Регулярні вирази у Swift — ґрунтовний розбір

Попри те, що робота з регулярними виразами у Swift схожа на підходи з JavaScript чи Python, мова має свої особливості, про які варто знати.

📖 Цей документ — результат детального дослідження професора з Монреаля Гая Лапальме, який на прикладах демонструє, як працює regex у Swift.

Автор розбирає три ключові кейси:
🔹 перевірка римських цифр
🔹 побудова токенізатора
🔹 створення простого чат-бота у стилі Eliza

А ще тут є корисна шпаргалка з основними методами та операторами для регулярних виразів у Swift — чудовий ресурс для швидкого нагадування.

🇺🇦 iOSDevUA
🔥1
💡Як бекенд Things переїхав на Swift

Things — один із найпопулярніших застосунків для управління задачами. Водночас це один із найвідоміших прикладів використання Swift на сервері.

У статті команда ділиться досвідом переходу свого бекенду на Swift:
🔧 який стек вони використали
⚙️ як перебудували архітектуру
🚀 і як завдяки цьому отримали в 4 рази швидші відповіді та втричі зменшили вартість обчислень

Класний приклад того, як Swift може працювати не лише на iOS, а й на сервері — ефективно й масштабовано.

🇺🇦 iOSDevUA
3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Вивчення креативного програмування зі Swift і SwiftUI

Натрапив на чудову статтю, у якій за допомогою математики (і не тільки) пояснюються різні підходи до створення нестандартних анімацій у SwiftUI.

Автор розповідає, як шум, рух та випадковість допомагають створювати захопливі візуальні експерименти — як у коді, так і в фізичному мистецтві.

🎆 Креативне програмування — це не просто володіння інструментами, а поєднання ідей, логіки та гри уяви.
Завдяки Swift і SwiftUI ми отримали цілу екосистему для експериментів у творчому просторі: від геометрії — до фізики та інтерактивної взаємодії.

📖 Ознайомитися з матеріалом можна тут — хто знає, можливо, це стане для вас натхненням для власного проєкту.

🇺🇦 iOSDevUA