💡Основи роботи з Core Image
Core Image — це потужний фреймворк для аналізу та обробки зображень. Він пропонує високопродуктивні інструменти для роботи з фото та відео: від базових фільтрів до складних графічних операцій.
📖 У цьому матеріалі можна ознайомитися з основами Core Image, зрозуміти еволюцію фреймворку та побачити його використання на практиці.
🇺🇦 iOSDevUA
Core Image — це потужний фреймворк для аналізу та обробки зображень. Він пропонує високопродуктивні інструменти для роботи з фото та відео: від базових фільтрів до складних графічних операцій.
📖 У цьому матеріалі можна ознайомитися з основами Core Image, зрозуміти еволюцію фреймворку та побачити його використання на практиці.
🇺🇦 iOSDevUA
❤1
💡Оновлення Swift Playground для iPad
Apple вперше за тривалий час оновили Swift Playgrounds, змінивши його назву на Swift Playground.
🔹 Головне нововведення – підтримка iOS 18, що дозволяє працювати з останніми можливостями Swift.
🔹 Також внесено дрібні покращення в інтерфейсі для більш зручної взаємодії.
📖 Деталі оновлення можна переглянути тут: Swift Playground 4.6.
🇺🇦 iOSDevUA
Apple вперше за тривалий час оновили Swift Playgrounds, змінивши його назву на Swift Playground.
🔹 Головне нововведення – підтримка iOS 18, що дозволяє працювати з останніми можливостями Swift.
🔹 Також внесено дрібні покращення в інтерфейсі для більш зручної взаємодії.
📖 Деталі оновлення можна переглянути тут: Swift Playground 4.6.
🇺🇦 iOSDevUA
mutatingfunc.github.io
Breaking down Swift Playgrounds 4.6
Apple has released the long-awaited Swift Playgrounds 4.6 update, or as it’s now known, Swift Playground!
The release notes read as follows:
This update includes a new document browser to easily create a new playground or find a recent one, and provides bug…
The release notes read as follows:
This update includes a new document browser to easily create a new playground or find a recent one, and provides bug…
💡Динамічний градієнт на основі середнього кольору зображення
Робота з градієнтами може стати непростим завданням як для дизайнерів, так і для розробників.
📖 У цьому матеріалі розглядається цікавий підхід до створення динамічного градієнта, який змінюється відповідно до середнього кольору зображення.
🛠 Код реалізації можна знайти тут: GitHub.
🇺🇦 iOSDevUA
Робота з градієнтами може стати непростим завданням як для дизайнерів, так і для розробників.
📖 У цьому матеріалі розглядається цікавий підхід до створення динамічного градієнта, який змінюється відповідно до середнього кольору зображення.
🛠 Код реалізації можна знайти тут: GitHub.
🇺🇦 iOSDevUA
💡Малювання карт у Swift Charts
Swift Charts дозволяє будувати не лише графіки, а й карти з регіонами, використовуючи набір координат.
🗺 Можливості:
🔹 Малювання карт на основі координат.
🔹 Додавання інтерактивності – наприклад, підсвічування регіонів при натисканні.
📖 Детальніше про реалізацію можна дізнатися в статті: Drawing Maps with Swift Charts.
🇺🇦 iOSDevUA
Swift Charts дозволяє будувати не лише графіки, а й карти з регіонами, використовуючи набір координат.
🗺 Можливості:
🔹 Малювання карт на основі координат.
🔹 Додавання інтерактивності – наприклад, підсвічування регіонів при натисканні.
📖 Детальніше про реалізацію можна дізнатися в статті: Drawing Maps with Swift Charts.
🇺🇦 iOSDevUA
🔥3
💡Локалізація iOS-додатка: корисні поради та кращі практики
Локалізація — це не лише переклад інтерфейсу, а й плюралізація, граматичні відмінки (canInflect) та коректне форматування чисел, дат і валют.
📖 У цій статті розглядаються ключові нюанси роботи з локалізацією, які допоможуть зробити додаток зручнішим для користувачів з різних регіонів. Радимо зберегти цей матеріал для подальшого використання.
🇺🇦 iOSDevUA
Локалізація — це не лише переклад інтерфейсу, а й плюралізація, граматичні відмінки (canInflect) та коректне форматування чисел, дат і валют.
📖 У цій статті розглядаються ключові нюанси роботи з локалізацією, які допоможуть зробити додаток зручнішим для користувачів з різних регіонів. Радимо зберегти цей матеріал для подальшого використання.
🇺🇦 iOSDevUA
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створення інтерактивних віджетів за допомогою App Intents
App Intents — це фреймворк, який дозволяє інтегрувати функції вашого додатка в різні системні сервіси: Siri, Spotlight, віджети, елементи керування тощо.
🇺🇦 iOSDevUA
App Intents — це фреймворк, який дозволяє інтегрувати функції вашого додатка в різні системні сервіси: Siri, Spotlight, віджети, елементи керування тощо.
🇺🇦 iOSDevUA
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створюємо ефекти, як в Apple Invites
Нещодавно Apple випустила новий додаток, і якщо вам цікаво, як реалізувати анімований паралакс під час скролу або хочеться більше дізнатися про шейдери, цей проєкт точно вартий уваги.
📖 У ньому детально розглядаються різні візуальні ефекти в SwiftUI, кастомні переходи, робота з кольорами та розширені можливості шейдерів і рендерингу тексту.
📺 Реалізація натхненна сесією WWDC24, де розкриваються секрети створення плавних анімацій.
🇺🇦 iOSDevUA
Нещодавно Apple випустила новий додаток, і якщо вам цікаво, як реалізувати анімований паралакс під час скролу або хочеться більше дізнатися про шейдери, цей проєкт точно вартий уваги.
📖 У ньому детально розглядаються різні візуальні ефекти в SwiftUI, кастомні переходи, робота з кольорами та розширені можливості шейдерів і рендерингу тексту.
📺 Реалізація натхненна сесією WWDC24, де розкриваються секрети створення плавних анімацій.
🇺🇦 iOSDevUA
❤4
💡The System Design Primer — велика колекція матеріалів для проєктування складних систем
Досвід роботи зі складними та масштабованими проєктами приходить із практикою, і це одна з тих навичок, яку складно освоїти без реальних кейсів. Навіть на співбесідах, коли просять спроєктувати систему, рідко очікують детального розбору архітектури на кілька рівнів глибини.
Знайшов чудовий опенсорс-репозиторій (288 000+ зірок ⭐️), де ком’юніті аналізує популярні застосунки та надає приклади для проєктування масштабованих систем.
🔗 Корисний ресурс на GitHub.
🇺🇦 iOSDevUA
Досвід роботи зі складними та масштабованими проєктами приходить із практикою, і це одна з тих навичок, яку складно освоїти без реальних кейсів. Навіть на співбесідах, коли просять спроєктувати систему, рідко очікують детального розбору архітектури на кілька рівнів глибини.
Знайшов чудовий опенсорс-репозиторій (288 000+ зірок ⭐️), де ком’юніті аналізує популярні застосунки та надає приклади для проєктування масштабованих систем.
🔗 Корисний ресурс на GitHub.
🇺🇦 iOSDevUA
👍1
💡NSAttributedString: створення, редагування та керування атрибутами
UILabel – це більше, ніж здається на перший погляд. Якщо вам доводилося працювати з різними текстовими стилями, ця тема може бути знайомою. Для більш продуктивного підходу часто використовують Core Text, однак у багатьох випадках достатньо NSAttributedString.
Оскільки робота з текстом потрібна у будь-якому додатку, корисно знати особливості його редагування.
📖 У цій статті розглядаються ключові прийоми роботи з атрибутованими рядками – додавання клікабельних посилань, налаштування параграфів, робота з вкладеними зображеннями тощо.
Також автор звертає увагу на оптимізацію за допомогою кешування тексту.
🇺🇦 iOSDevUA
UILabel – це більше, ніж здається на перший погляд. Якщо вам доводилося працювати з різними текстовими стилями, ця тема може бути знайомою. Для більш продуктивного підходу часто використовують Core Text, однак у багатьох випадках достатньо NSAttributedString.
Оскільки робота з текстом потрібна у будь-якому додатку, корисно знати особливості його редагування.
📖 У цій статті розглядаються ключові прийоми роботи з атрибутованими рядками – додавання клікабельних посилань, налаштування параграфів, робота з вкладеними зображеннями тощо.
Також автор звертає увагу на оптимізацію за допомогою кешування тексту.
🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
🕹 Гра «Життя» Конвея: реалізація на MetalKit
Ендрю Глейв продемонстрував, як створити візуалізацію гри «Життя» за допомогою MetalKit. В основі реалізації використовуються vertex та fragment шейдери, що дозволяє досягти плавної та ефективної графіки.
🛠 Код доступний на GitHub.
🇺🇦 iOSDevUA
Ендрю Глейв продемонстрував, як створити візуалізацію гри «Життя» за допомогою 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
У спільноті часто створюють власні інтерпретації логотипів, натхненних подіями від Apple. Наприклад, для останньої презентації навіть з’явився сайт, де можна переглянути ефекти на логотипах різних компаній.
Розробник Bobby Bobak вирішив перенести цей ефект у SwiftUI – він додав можливість налаштовувати рівень заломлення та блюр.
📖 Код реалізації доступний на GitHub.
📱 Оригінальний пост від Стіва Хейні.
🇺🇦 iOSDevUA
❤4🔥1🤯1
Детальний гайд про нововведення в Swift 6 і міграцію 🔥
👉 https://www.avanderlee.com/concurrency/swift-6-migrating-xcode-projects-packages/
🇺🇦 iOSDevUA
👉 https://www.avanderlee.com/concurrency/swift-6-migrating-xcode-projects-packages/
🇺🇦 iOSDevUA
SwiftLee
Swift 6: What’s New and How to Migrate
What's new in Swift 6 and how do you migrate your projects and packages? Learn how to apply incremental migration and why you should update.
💡Як вимкнути анімації в додатку при ввімкненні відповідної опції в Accessibility
📖 Короткий навчальний матеріал про те, як реалізувати підтримку відключення анімацій у вашому додатку, якщо користувач активував відповідний перемикач у налаштуваннях Accessibility.
Реалізація досить проста, але далеко не всі додатки враховують цю важливу функцію, яка може значно покращити досвід окремих користувачів.
🇺🇦 iOSDevUA
📖 Короткий навчальний матеріал про те, як реалізувати підтримку відключення анімацій у вашому додатку, якщо користувач активував відповідний перемикач у налаштуваннях 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
🚀 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
🚀 Використання 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
У SwiftUI відновлення стану реалізується через SceneStorage. Однак протестувати його вручну складно, адже при закритті через app switcher стейт скидається.
✅ Щоб перевірити збереження стану, виконайте такі кроки:
1️⃣ Запустіть додаток у симуляторі
2️⃣ Змініть стейт (наприклад, перемістіться по навігації)
3️⃣ Натисніть Home, щоб відправити додаток у бекграунд
4️⃣ Натисніть Stop у Xcode
5️⃣ Запустіть додаток знову та перевірте, чи збережений стан відновився
📖 Детальніше про це в матеріалі 👉 https://nilcoalescing.com/blog/TestingSceneStorageStatePersistenceInXcode/
🇺🇦 iOSDevUA
👍2❤1
💡Що відкритий Swift Build означає для екосистеми
📖 Команда Tuist підготувала детальний аналіз одного з головних анонсів останнього місяця.
Їхній проєкт спрощував роботу з xcodebuild, приховуючи складність процесів, а тепер відкриття Swift Build може відкрити ще більше можливостей для розробників.
💡 Один із потенційних наступних кроків — створення універсального DSL для опису проєктів, який зможе замінити Package.swift і xcodeproj.
🇺🇦 iOSDevUA
📖 Команда Tuist підготувала детальний аналіз одного з головних анонсів останнього місяця.
Їхній проєкт спрощував роботу з xcodebuild, приховуючи складність процесів, а тепер відкриття Swift Build може відкрити ще більше можливостей для розробників.
💡 Один із потенційних наступних кроків — створення універсального DSL для опису проєктів, який зможе замінити Package.swift і xcodeproj.
🇺🇦 iOSDevUA
tuist.dev
What Swift Build means for the Swift ecosystem
In blog post we share our perspective on what Swift Build might mean for the Swift ecosystem, drawing from our extensive experience working with Xcode projects, and how it aligns with the plans we have for Tuist.
🔥1
🎬Детальний гайд по Apple Search Ads: налаштування та оптимізація
📖 Вийшов корисний матеріал про Apple Search Ads, у якому пояснюється, як правильно налаштувати рекламу, оптимізувати кампанії та підвищити ефективність просування додатків.
Якщо ви плануєте використовувати ASA для залучення користувачів, цей гайд допоможе розібратися у всіх нюансах. 🚀
https://www.youtube.com/watch?v=W6_bN3AZo_s
🇺🇦 iOSDevUA
📖 Вийшов корисний матеріал про Apple Search Ads, у якому пояснюється, як правильно налаштувати рекламу, оптимізувати кампанії та підвищити ефективність просування додатків.
Якщо ви плануєте використовувати ASA для залучення користувачів, цей гайд допоможе розібратися у всіх нюансах. 🚀
https://www.youtube.com/watch?v=W6_bN3AZo_s
🇺🇦 iOSDevUA
YouTube
How to Set Up an Apple Search Ads Campaign the Right Way #ASA
► Search Ads Insights: https://appfigures.com/reports/competitor-search-ads
► Keyword Inspector: https://appfigures.com/reports/keyword-inspector
► Start a FREE trial of Appfigures: https://appfigures.com/signup
► Get a demo of the platform: https:/…
► Keyword Inspector: https://appfigures.com/reports/keyword-inspector
► Start a FREE trial of Appfigures: https://appfigures.com/signup
► Get a demo of the platform: https:/…
💡Що відбувається, коли ви переміщаєте файл у Git?
Це цікаве питання, адже Git є невід’ємною частиною роботи кожного розробника. Хтось використовує Xcode, Tower, інші надають перевагу консолі, але розуміння принципів роботи важливе для всіх.
❗️ Часто вважають, що коміти в Git — це диференційні diffs, але це не зовсім так.
📌 У своїй статті Бруно Роша пояснює, що коміти — це snapshots. Тобто при будь-якій зміні файлу Git зберігає його повну копію в репозиторії.
📂 Окремо цікаво, як Git визначає, що два файли однакові, навіть якщо вони мають різні імена.
📖 Детальний розбір і пояснення інших цікавих моментів у статті: https://swiftrocks.com/what-happens-when-you-move-a-file-in-git
🇺🇦 iOSDevUA
Це цікаве питання, адже Git є невід’ємною частиною роботи кожного розробника. Хтось використовує Xcode, Tower, інші надають перевагу консолі, але розуміння принципів роботи важливе для всіх.
❗️ Часто вважають, що коміти в Git — це диференційні diffs, але це не зовсім так.
📌 У своїй статті Бруно Роша пояснює, що коміти — це snapshots. Тобто при будь-якій зміні файлу Git зберігає його повну копію в репозиторії.
📂 Окремо цікаво, як Git визначає, що два файли однакові, навіть якщо вони мають різні імена.
📖 Детальний розбір і пояснення інших цікавих моментів у статті: https://swiftrocks.com/what-happens-when-you-move-a-file-in-git
🇺🇦 iOSDevUA
Swiftrocks
What happens when you move a file in git?
Is renaming large folders in git repos an issue? Let's find out.
💡Стаття про те, як створити подібне menu bar в macOS за допомогою SwiftUI.
👉 https://troz.net/post/2025/mac_menu_data/
🇺🇦 iOSDevUA
👉 https://troz.net/post/2025/mac_menu_data/
🇺🇦 iOSDevUA
💡Task.sleep() vs Task.yield(): В чому різниця?
У Swift Concurrency існують два способи призупинити виконання асинхронного коду:
🛑
🔄
Попри схожу поведінку, вони мають суттєві відмінності, які важливо розуміти.
📖 В цій статті Антуан пояснює, як правильно використовувати обидва методи і в яких випадках вони будуть корисними.
🇺🇦 iOSDevUA
У Swift Concurrency існують два способи призупинити виконання асинхронного коду:
🛑
Task.sleep() — дозволяє поставити задачу «спати» на вказаний проміжок часу.🔄
Task.yield() — звільняє потік і дозволяє іншим завданням виконатися перед тим, як продовжити.Попри схожу поведінку, вони мають суттєві відмінності, які важливо розуміти.
📖 В цій статті Антуан пояснює, як правильно використовувати обидва методи і в яких випадках вони будуть корисними.
🇺🇦 iOSDevUA