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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
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
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створення інтерактивних віджетів за допомогою App Intents

App Intents — це фреймворк, який дозволяє інтегрувати функції вашого додатка в різні системні сервіси: Siri, Spotlight, віджети, елементи керування тощо.

🇺🇦 iOSDevUA
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створюємо ефекти, як в Apple Invites

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

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

📺 Реалізація натхненна сесією WWDC24, де розкриваються секрети створення плавних анімацій.

🇺🇦 iOSDevUA
4
💡The System Design Primer — велика колекція матеріалів для проєктування складних систем

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

Знайшов чудовий опенсорс-репозиторій (288 000+ зірок ⭐️), де ком’юніті аналізує популярні застосунки та надає приклади для проєктування масштабованих систем.

🔗 Корисний ресурс на GitHub.

🇺🇦 iOSDevUA
👍1
💡NSAttributedString: створення, редагування та керування атрибутами

UILabel – це більше, ніж здається на перший погляд. Якщо вам доводилося працювати з різними текстовими стилями, ця тема може бути знайомою. Для більш продуктивного підходу часто використовують Core Text, однак у багатьох випадках достатньо NSAttributedString.

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

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

Також автор звертає увагу на оптимізацію за допомогою кешування тексту.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
🕹 Гра «Життя» Конвея: реалізація на MetalKit

Ендрю Глейв продемонстрував, як створити візуалізацію гри «Життя» за допомогою MetalKit. В основі реалізації використовуються vertex та fragment шейдери, що дозволяє досягти плавної та ефективної графіки.

🛠 Код доступний на GitHub.

🇺🇦 iOSDevUA
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Реалізація шейдера з презентації Apple для iPhone 16e

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

Розробник Bobby Bobak вирішив перенести цей ефект у SwiftUI – він додав можливість налаштовувати рівень заломлення та блюр.

📖 Код реалізації доступний на GitHub.
📱 Оригінальний пост від Стіва Хейні.

🇺🇦 iOSDevUA
4🔥1🤯1