ar
Feedback
🇺🇦 iOS Dev UA - спільнота iOS розробників

🇺🇦 iOS Dev UA - спільнота iOS розробників

الذهاب إلى القناة على Telegram

Перша україномовна спільнота iOS розробників 🇺🇦 👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel

إظهار المزيد
384
المشتركون
لا توجد بيانات24 ساعات
+37 أيام
+1130 أيام
أرشيف المشاركات
💡Абсолютна база: як працювати з нотифікаціями у 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: приклади для одного та кількох текстових полів Робота з текстовими полями — звична частина будь-якої форми: від авторизації до заповнення профілю. І хоча іноді користувач має вручну активувати поле, є багато сценаріїв, коли потрібно автоматично перемикатися між полями. Тут у пригоді стане @FocusState, доступний починаючи з iOS 15. 📖 У статті пояснюються приклади використання — як для одного поля, так і для кількох. 🛠 А тут можна завантажити демо-проєкт. Ідеально для тих, хто хоче покращити UX при роботі з формами! ✍️📱 🇺🇦 iOSDevUA

💡Xtool — кросплатформена альтернатива Xcode Xtool дозволяє збирати та підписувати iOS‑застосунки без Xcode — і робити це з б
💡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. Минулого
💡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