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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Антиплагіатні правила в App Store

App Review Guidelines нещодавно поповнилися новими пунктами, спрямованими на боротьбу з копіями та плагіатом. Основні положення такі:

(a) Створюйте власні ідеї. У Apple підкреслюють: не варто копіювати популярні застосунки в App Store чи змінювати назву та UI іншого застосунку лише формально. Це не лише може спричинити претензії щодо порушення авторських прав, але й ускладнює навігацію в сторі та є несправедливим для інших розробників.

(b) Забороняється імперсонування застосунків або сервісів. Такі дії вважаються порушенням Developer Code of Conduct і можуть призвести до блокування в Apple Developer Program. Це правило також поширюється на нотаризацію iOS-застосунків у ЄС.

(c) Заборонено використовувати іконку, бренд або назву продукту іншого розробника у вашій іконці чи назві без їхнього офіційного дозволу.


Нові правила мають на меті підвищити чесність, захист інтелектуальної власності та якість контенту в App Store.

🇺🇦 iOSDevUA
👍4
🎬 Найкращі доповіді конференції Pragma Conf 2025

#Pragma Conference — міжнародна конференція, повністю присвячена розробці застосунків для iOS, macOS, watchOS, visionOS і tvOS. Вона відбулася всього кілька тижнів тому, і всі доповіді вже виклали у відкритий доступ — серед них багато справді цікавих:

📺 Swift 6.2 і міграція застосунку
Антуан ділиться тим, як паралелізм може розв’язати ключові проблеми, з якими стикаються розробники.

📺 The Attribute Graph: невидима рука SwiftUI
Глибокий огляд системи, що буквально лежить в основі роботи SwiftUI.

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

📺 Священний секрет швидкості нашого застосунку
Маттео Раттотті та Костянтин Єрохін діляться нестандартними підходами, які помітно підвищили продуктивність для всіх користувачів.

📺 Радощі та виклики незрячого програміста
Аркадіуш Свентницький говорить про доступність із точки зору розробника. Цю доповідь варто саме слухати.

📖 Повний список відео

🇺🇦 iOSDevUA
🌚1
💡Як працювати з шейдерами

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

Хоча стаття не напряму орієнтована на iOS-розробників, вона настільки добре написана, що просто неможливо не поділитися.

Що всередині

Ден підійшов до теми максимально ґрунтовно й почав з основ — як працює GPU

Далі він детально розбирає весь графічний пайплайн:
Vertex shading
Растеризацію
Fragment shading

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

Трохи про API різних платформ

Автор згадує й Microsoft DirectX з мовою HLSL але й Apple Metal отримав свою порцію уваги — з прикладами та поясненнями відмінностей між підходами.

Навіщо читати

📖 Стаття варта того, щоб зберегти її в закладки:
https://www.makingsoftware.com/chapters/shaders

Вона допоможе не лише загалом прокачати розуміння графіки, а й навчить створювати круті візуальні ефекти, маючи лише x і y координати та базові знання про роботу GPU.

🇺🇦 iOSDevUA
👍4
💡Вийшло оновлення лекцій Стенфорда для iOS-розробників

Цей курс давно вважається одним із найкращих безплатних способів увійти в iOS-розробку. Нещодавно вийшло велике оновлення — одразу 6 нових лекцій, що охоплюють шлях від баз SwiftUI до демонстрації роботи з даними.

📖 Увесь курс доступний тут: https://cs193p.stanford.edu/
Обіцяють викласти нові лекції найближчим часом.

🇺🇦 iOSDevUA
5
💡Результати Swift GSoC

Опубліковано звіти про всі проєкти, які розроблялися цього року в рамках Google Summer of Code. Серед них:

👉 Підтримка Swiftly у VS Code
👉 Покращення Swift–Java інтеропа
👉 Удосконалення code completion
👉 Нормальний консольний вивід для Swift Testing

Мій улюблений проєкт — саме останній: у звіті є скриншоти «до» і «після», і різниця справді вражає.

🇺🇦 iOSDevUA
📺 Deep dive у продуктивність SwiftUI

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

Окрім самого виступу, раджу переглянути тред на Apple Forum:
https://developer.apple.com/forums/thread/806702

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

🇺🇦 iOSDevUA
👍1
💡Новини Embedded Swift

Embedded Swift — це підмножина мови, призначена для створення дуже компактних бінарів і запуску на пристроях із мінімальними ресурсами. У релізі Swift 6.3 очікується велика порція оновлень.

Що саме додадуть:

👉 Покращені діагностики — зрозуміліші повідомлення про помилки й точніший аналіз коду.
👉 Інтероперабельність із C — більш плавний обмін даними та виклики між мовами.
👉 Багато нових core-функцій у дебагері — зручніше трасування й аналіз роботи коду на пристроях з обмеженнями.
👉 Поліпшення в лінкері — ще менші фінальні бінарі та оптимальніше складання.

Embedded Swift продовжує активно розвиватися, і Swift 6.3 робить його ще більш придатним для прошивок, IoT, мікроконтролерів та будь-яких систем, де важливі компактність і швидкодія.

🇺🇦 iOSDevUA
🎉 Swift — 10 років

Минуло рівно 10 років з моменту, коли Swift уперше став опенсорсним! Якщо хочете згадати, як це було, перегляньте той самий історичний пост-оголошення:
📖 https://www.swift.org/blog/welcome/

🇺🇦 iOSDevUA
1
💡Advent of Code у Swift

Стартував щорічний конкурс Advent of Code. Цього разу, щоправда, завдань не 25, а лише 12 — але формат залишився таким же захопливим. AoC традиційно вважається чудовим способом «погратися» з новими мовами програмування, до яких у вас зазвичай не доходять руки.

Але якщо ви віддаєте перевагу Swift, то за посиланням знайдете коротку інструкцію, як приєднатися до офіційного лідерборду від Apple та розв’язувати задачі разом зі Swift-спільнотою.

🇺🇦 iOSDevUA
💡Промахи в параметризованих тестах

Під час переходу з XCTest на параметризовані тести у Swift Testing легко припуститися кількох типових помилок. Через них покриття може погіршитися, а самі тести — стати менш зручними у підтримці.

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

🇺🇦 iOSDevUA
💡Як дебажити застосунки, що використовують кілька процесів

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

Стандартна поведінка Xcode у цих сценаріях неочевидна: наприклад, дебагер автоматично не під’єднується до допоміжних сервісів, навіть якщо вони запускаються разом з вашим застосунком — особливо якщо ці процеси написані не вами.

У статті пояснюється, як упоратися з цією та іншими проблемами:
• як коректно під’єднувати LLDB до кількох процесів;
• як налаштувати Xcode, щоб він автоматично стежив за потрібними сервісами;
• які інструменти варто використовувати для аналізу поведінки багатопроцесних застосунків.

Корисний матеріал для всіх, хто працює з XPC, app extensions або складними macOS-архітектурами.

🇺🇦 iOSDevUA
1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створення таббару з анімацією в стилі Telegram в iOS 26

Анімації, схожі на ті, що реалізовані в Telegram, можна відтворити різними способами — і за складністю, і за витраченим часом вони сильно відрізняються.

📺 У цьому відео автор показує підхід, який дозволяє вбудувати анімовані ефекти SF Symbols прямо в стандартний таббар, використовуючи SwiftUI поверх UIKit.

У результаті ви отримуєте знайомий системний Tab Bar, але з плавними реактивними анімаціями, подібними до тих, що стали «фірмовою фішкою» Telegram.

🇺🇦 iOSDevUA
4
📺 Доповіді про серверний Swift

Вийшла добірка виступів з щорічної конференції, присвяченої Swift на сервері. Серед найцікавіших доповідей:

👉 Про Approachable Concurrency
👉 Як обрати між Vapor і Hummingbird
👉 Про Swift/Java інтероп

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

🇺🇦 iOSDevUA
💡Вийшов Swift Configuration 1.0

Офіційний інструмент від Apple для зручної роботи з конфігураціями у Swift-проєктах 🔧. Бібліотека дає єдиний API для читання налаштувань із різних джерел (environment variables, аргументи CLI, JSON/YAML, in-memory), підтримує пріоритети джерел і дозволяє підключати власні провайдери через протокол ConfigProvider. Орієнтована насамперед на серверний Swift і CLI, але підійде й для бібліотек. Приклад: можна описати конфіг як типобезпечну структуру й автоматично зчитати значення з ENV або файлу без бойлерплейту.

📦 GitHub - https://github.com/apple/swift-configuration

🇺🇦 iOSDevUA
💡Які налаштування компілятора важливі для Swift Concurrency?

📖 У своїй статті Метт Массікотт — розбирає наявні опції компілятора та рекомендує оптимальні налаштування для проєктів, що використовують Swift 6.

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

🇺🇦 iOSDevUA
👍2
💡Tuist Registry тепер не прив’язаний до акаунту Tuist

На початку року команда Tuist представила Tuist Registry — реєстр Swift-пакетів, що відповідає офіційному стандарту та який можна розгорнути для будь-якого свого проєкту. Головна перевага підходу — завантажуються лише ті версії пакетів, які справді використовуються, що економить час збірки та місце на диску.

Однак одним із головних бар’єрів у впровадженні було те, що реєстр вимагав наявності акаунта в Tuist.

Тепер цю залежність повністю прибрали — і ви можете інтегрувати Tuist Registry у свої пайплайни абсолютно безшовно, без будь-якої прив’язки до Tuist-акаунтів.

Це робить Tuist Registry значно зручнішим для команд, які прагнуть оптимізувати роботу зі Swift-пакетами й хочуть мати власну приватну інфраструктуру для керування залежностями.

🇺🇦 iOSDevUA
1
💡Як влаштовано застосунок Vercel для iOS

Чудова історія про те, з яким рівнем уваги до деталей команда Vercel підійшла до створення першої версії свого iOS-застосунку. Їхня мета була амбітною — створити UI/UX, який міг би претендувати на Apple Design Award, і у статті вони детально пояснюють, як реалізували ключові дизайнерські рішення.

Одразу варто зазначити, що технічний стек — не нативний Swift, а React Native з Expo, але це не зменшує цінності розбору. Автори показують, як використали анімації, переходи, світлотінь, структурування екранів і мікровзаємодії, щоб досягти максимально плавного, акуратного і «преміального» досвіду.

Це корисне чтиво для всіх, хто хоче зрозуміти, як будувати дійсно якісний мобільний інтерфейс — незалежно від того, на якому фреймворку він створений.

🇺🇦 iOSDevUA
💡Покращення валідації форм у SwiftUI за допомогою Key Path

📖 У цій статті показано, як використання key path дозволяє суттєво зменшити кількість коду для перевірки форм у SwiftUI й зробити його значно чистішим та читабельнішим.

🇺🇦 iOSDevUA
💡Один SwiftUI-застосунок — шість архітектур

Пітер Якуб переписав таск-менеджер шість разів, щоб спробувати визначити, яка архітектура працює найкраще. Цікаво, що він також зачіпає різницю між архітектурою та патернами проєктування — темою, в якій багато хто й досі плутається. У прикладах можна побачити підходи MVC, MVVM, VIPER, TCA, а також несподіваний висновок: Clean Architecture — це радше філософія, ніж конкретний набір правил (без згадок Роберта Мартина не обійшлося).

📖 Яких висновків він дійшов — читайте в оригіналі.

P.S. Автор не приховує, що використовував AI як допоміжний інструмент, але ще один погляд на вічну архітектурну дискусію точно не завадить.

🇺🇦 iOSDevUA
👍1
💡Які налаштування компілятора справді важливі для Swift Concurrency?

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

Окремо він розбирає практичне питання: які режими можна сміливо вмикати за замовчуванням, а які не мають сенсу чіпати, щоб не перевантажувати конфігурацію без реальної користі.

🇺🇦 iOSDevUA