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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Параметризовані тести в 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
💡Як вимкнути анімації в додатку при ввімкненні відповідної опції в Accessibility

📖 Короткий навчальний матеріал про те, як реалізувати підтримку відключення анімацій у вашому додатку, якщо користувач активував відповідний перемикач у налаштуваннях Accessibility.

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

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Безкоштовна альтернатива App Center Distribution

🚀 Emerge відкрили безкоштовний доступ до свого сервісу для поширення iOS та Android білдів. Це чудова альтернатива App Center Distribution, особливо з такими умовами:

✔️ 5000 білдів на місяць
✔️ Необмежена кількість користувачів
✔️ SSO
✔️ SDK для автоматичних сповіщень про нові версії

📖 Детальніше про сервіс можна почитати тут.

🇺🇦 iOSDevUA
😱3
💡Робоча група Swift для Android

🚀 Використання Swift для розробки під Android набирає оберти! Спільнота сформувала робочу групу, до якої увійшли розробники Skip та інші ентузіасти.

📌 Поки що їхній план – регулярні зустрічі та обговорення викликів, але в майбутньому вони сподіваються стати офіційною частиною проєкту Swift.

🔗 Обговорення ведеться тут 👉 https://forums.swift.org/t/swift-on-android-working-group/77780.

🇺🇦 iOSDevUA
👍1
💡Як перевірити state restoration у SwiftUI

У SwiftUI відновлення стану реалізується через SceneStorage. Однак протестувати його вручну складно, адже при закритті через app switcher стейт скидається.

Щоб перевірити збереження стану, виконайте такі кроки:

1️⃣ Запустіть додаток у симуляторі
2️⃣ Змініть стейт (наприклад, перемістіться по навігації)
3️⃣ Натисніть Home, щоб відправити додаток у бекграунд
4️⃣ Натисніть Stop у Xcode
5️⃣ Запустіть додаток знову та перевірте, чи збережений стан відновився

📖 Детальніше про це в матеріалі 👉 https://nilcoalescing.com/blog/TestingSceneStorageStatePersistenceInXcode/

🇺🇦 iOSDevUA
👍21
💡Що відкритий Swift Build означає для екосистеми

📖 Команда Tuist підготувала детальний аналіз одного з головних анонсів останнього місяця.

Їхній проєкт спрощував роботу з xcodebuild, приховуючи складність процесів, а тепер відкриття Swift Build може відкрити ще більше можливостей для розробників.

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

🇺🇦 iOSDevUA
🔥1
🎬Детальний гайд по Apple Search Ads: налаштування та оптимізація

📖 Вийшов корисний матеріал про Apple Search Ads, у якому пояснюється, як правильно налаштувати рекламу, оптимізувати кампанії та підвищити ефективність просування додатків.

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

https://www.youtube.com/watch?v=W6_bN3AZo_s

🇺🇦 iOSDevUA