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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створення універсального компонента для меню в SwiftUI

📖 У статті автор пояснює, як створити багаторазовий компонент меню для SwiftUI та кастомізувати його під власні потреби.

Основні аспекти, що розглядаються:
👉 Прототипування – створення базової версії меню.
👉 Кастомні View Modifiers – як додавати та використовувати.
👉 View Builders – відокремлення UI від бізнес-логіки.
👉 Налаштування стилів – створення унікального вигляду для меню.

🇺🇦 iOSDevUA
💡Якщо у вашому застосунку використовується WebView і потрібно налаштувати взаємодію між веб-контентом та нативною частиною, ось короткий навчальний матеріал, який допоможе розібратися з цим процесом.

👉 https://medium.com/swlh/web-to-native-code-communication-on-ios-using-wkscriptmessagehandler-8d307b3847fa

🇺🇦 iOSDevUA
💡Стаття про те, як тестувати застосунок в умовах повільного інтернету. Так, автор згадує власний інструмент, але він може стати в пригоді. Крім того, у матеріалі пояснюється, навіщо це потрібно, як імітувати повільне з’єднання і що враховувати під час тестування.

👉 https://www.avanderlee.com/debugging/network-link-conditioner-utility/

🇺🇦 iOSDevUA
💡Змішування кольорів у SwiftUI

🎨 У SwiftUI з’явилася нова функція mix, яка дозволяє програмно поєднувати кольори, задаючи два вихідні кольори та колірний простір для отриманого результату.

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

🇺🇦 iOSDevUA
3
💡Оновлення в роботі Background Uploads в iOS

📤 Завантаження файлів у фоновому режимі в iOS залишається однією з найбільш складних тем через недостатню документацію.

🔍 У мережі є чудовий розбір, який пояснює деталі роботи URLSession у фоновому режимі. Однак деякі поради в ньому вже застаріли.

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

🇺🇦 iOSDevUA
🔥21
💡Каталог Swift-пакетів із підтримкою Android

Команда Skip продовжує розширювати можливості Swift для Android-розробки. Вони вже надіслали PR для додавання Android-таргета в низку бібліотек, а також створили окремий сайт, де можна стежити за прогресом міграції екосистеми Swift на Android.

🇺🇦 iOSDevUA
💡Як запустити CarPlay у McLaren

🚗 Розробник зіткнувся з проблемою – його новий McLaren не підтримував CarPlay.

🔍 Замість того, щоб миритися з цим, він провів реверс-інжиніринг протоколів медіасистеми, розібрався, як працює передача аудіо, і самостійно додав підтримку CarPlay.

📖 У статті детально розповідається про цей процес – від дослідження системи до її інтеграції. Вражаючий технічний кейс для тих, хто любить нестандартні рішення!

🇺🇦 iOSDevUA
2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Відладка застосунку з обмеженим доступом

Розробник Bryce Bostwick поділився цікавим досвідом щодо можливості відладки застосунку, який захищений від аналізу.

⚠️ Обмеження в додатку:
1️⃣ Блокує підключення дебагера.
2️⃣ Автоматично закривається при спробі впровадження коду.
3️⃣ Викликає краш пристрою, якщо на ньому встановлено джейлбрейк.

📖 Що з цього вийшло? Детальний розбір у відео або статті.

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

🇺🇦 iOSDevUA
1
💡Ghostty – новий швидкий та кросплатформений термінал

Екс-засновник HashiCorp представив Ghostty – сучасний термінал, що виділяється серед альтернатив. Його головні переваги:

🚀 Висока продуктивність – працює швидко навіть з важкими процесами.
💡 Кросплатформеність – підтримує macOS та Linux.
🎨 Гнучкі налаштування – вкладки, автоперемикання темної теми, кастомізація.
🛠 Додаткові можливості – інтеграція з інструментами та розширені API.

👀 Вже спробував – і поки що дуже подобається!

🇺🇦 iOSDevUA
💡Глосарій по Swift Concurrency

Matt Massicotte зібрав у одному місці всі ключові терміни, пов’язані зі Swift Concurrency.

📖 У своєму матеріалі він пояснює не лише основи async/await та actor, а й менш очевидні концепції, такі як @unchecked, for-await тощо. До кожного терміна додається коротка довідка: що це таке, як використовується та в якому Swift Evolution пропозалі було реалізовано.

💡 Корисний ресурс для розробників, які працюють зі Swift Concurrency або лише починають знайомство з багатопотоковістю у Swift.

🇺🇦 iOSDevUA
2
💡Як дебажити диплінки та Quick Actions

📌 При запуску додатку через Xcode дебаггер підключається автоматично, але при закритті – відключається. Це створює проблему для тестування функцій, які залежать від альтернативних способів запуску, наприклад, Deep Links або Quick Actions.

💡 Рішення – налаштувати в схемі запуску опцію “Wait for executable to be launched”. Це дозволить запускати додаток через диплінк чи Quick Actions, а потім приєднувати дебаггер вручну.

👉 https://tanaschita.com/xcode-debugging-app-restart/

🇺🇦 iOSDevUA
2
💡SwiftUI + Firebase: створюємо застосунок “Нагадування”

📌 У цьому покроковому гайді показано, як розробити to-do застосунок на SwiftUI з інтеграцією Firebase.

⚡️ Основні етапи навчання:

1️⃣ Інтерфейс користувача – основи MVVM-архітектури та створення списку задач.
2️⃣ Кастомні компоненти – розділення UI на відокремлені View.
3️⃣ Інтеграція Firebase – налаштування бекенду та тестування локально.
4️⃣ Збереження даних у Cloud Firestore – додавання, редагування та видалення даних.
5️⃣ Dependency Injection – управління залежностями у проєкті.
6️⃣ Аутентифікація користувачів – підтримка анонімного входу, Sign in with Apple та прив’язка акаунтів.

🇺🇦 iOSDevUA
Copilot тепер підтримує кастомні інструкції до репозиторію

🚀 GitHub додав можливість налаштовувати Copilot під специфіку вашого проєкту!

🔹 Достатньо створити файл .github/copilot-instructions.md та вказати в ньому:
✔️ Технологічний стек
✔️ Кодстайл і стандарти
✔️ Очікувану поведінку асистента

🛠 Після цього Copilot враховуватиме ці інструкції під час роботи з кодом.

📖 Деталі оновлення: GitHub Changelog.

🇺🇦 iOSDevUA
2
💡Параметризовані тести в Swift

Параметризовані тести дозволяють запускати один і той самий тест із різними вхідними даними, не додаючи зайвого коду. Наприклад, можна протестувати всі можливі значення enum. Достатньо задати колекцію параметрів для тесту, і він автоматично виконається для кожного з них.

🇺🇦 iOSDevUA
💡Для чого потрібні Preferences у SwiftUI – розбір прикладів

Зазвичай для двостороннього зв’язку між в’юшками в SwiftUI використовують @State та @Binding. У більшості випадків це працює без проблем, але у складних ієрархіях може викликати антипатерн prop drilling, коли дані доводиться передавати через кілька рівнів вкладеності.

🔹 У таких ситуаціях корисним рішенням стають Preferences, які дозволяють передавати стан зверху вниз без зайвих прив’язок.

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

🇺🇦 iOSDevUA
1👍1
🎆 Нове розширення для Swift у Visual Studio Code

📢 Apple продовжує розширювати можливості Swift! У блозі компанії вийшла новина про оновлене розширення для Visual Studio Code.

🔹 Головна мета — зробити розробку Swift-додатків доступною на всіх платформах.
🔹 Для тих, хто вже працює у VS Code, оновлення забезпечує плавний перехід.

🚀 Це ще один важливий крок у розвитку екосистеми Swift!

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
1
💡Основи роботи з Core Image

Core Image — це потужний фреймворк для аналізу та обробки зображень. Він пропонує високопродуктивні інструменти для роботи з фото та відео: від базових фільтрів до складних графічних операцій.

📖 У цьому матеріалі можна ознайомитися з основами Core Image, зрозуміти еволюцію фреймворку та побачити його використання на практиці.

🇺🇦 iOSDevUA
1
💡Оновлення Swift Playground для iPad

Apple вперше за тривалий час оновили Swift Playgrounds, змінивши його назву на Swift Playground.

🔹 Головне нововведення – підтримка iOS 18, що дозволяє працювати з останніми можливостями Swift.
🔹 Також внесено дрібні покращення в інтерфейсі для більш зручної взаємодії.

📖 Деталі оновлення можна переглянути тут: Swift Playground 4.6.

🇺🇦 iOSDevUA
💡Динамічний градієнт на основі середнього кольору зображення

Робота з градієнтами може стати непростим завданням як для дизайнерів, так і для розробників.

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

🛠 Код реалізації можна знайти тут: GitHub.

🇺🇦 iOSDevUA
💡Малювання карт у Swift Charts

Swift Charts дозволяє будувати не лише графіки, а й карти з регіонами, використовуючи набір координат.

🗺 Можливості:
🔹 Малювання карт на основі координат.
🔹 Додавання інтерактивності – наприклад, підсвічування регіонів при натисканні.

📖 Детальніше про реалізацію можна дізнатися в статті: Drawing Maps with Swift Charts.

🇺🇦 iOSDevUA
🔥3
💡Локалізація iOS-додатка: корисні поради та кращі практики

Локалізація — це не лише переклад інтерфейсу, а й плюралізація, граматичні відмінки (canInflect) та коректне форматування чисел, дат і валют.

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

🇺🇦 iOSDevUA
👍3