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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
📦 spmgraph — візуалізація графа залежностей SwiftPM

spmgraph — це CLI-інструмент для розробників, який дозволяє:
візуалізувати граф залежностей Swift Package Manager,
• запускати тести на основі impact-аналізу,
• виконувати архітектурний лінтинг для контролю структури проєкту.

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

🇺🇦 iOSDevUA
💡Що нового у Swift — новий розділ на swift.org

На сайті swift.org з’явився новий щомісячний розділ, у якому публікують дайджести про все, що відбувається у світі Swift. Тут не лише новини про мову, а й думки, аналітика та точки зору представників спільноти й екосистеми.

У жовтневому випуску висвітлюються головні підсумки Server-Side Swift Conference, релізи основних пакетів та останні пропозиції Swift Evolution.

Серед цікавих матеріалів — доповідь Бена Коена:
📺 Юзабіліті та продуктивність у Swift
У ній він розповідає, як розвивається мова, і як сучасний Swift дозволяє досягати максимальної продуктивності навіть попри всі зміни, що відбуваються в екосистемі.

📖 Повністю дайджест можна прочитати тут:
https://www.swift.org/blog/whats-new-in-swift-october-2025/

🇺🇦 iOSDevUA
👍1
💡Проєктування та створення кастомних лейаутів у SwiftUI

📖 В офіційній документації Apple є чудовий приклад із детальними поясненнями різних інструментів проєктування кастомних лейаутів

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

Крім цього, у матеріалі детально розбираються:

➡️ Робота ViewThatFits
Як вибирати в’юшку, яка найкраще підходить під доступний простір.

➡️ Підвищення ефективності лейауту за допомогою кешування
Як зменшити кількість перерахунків і підвищити продуктивність.

➡️ Анімація переходів між різними лейаутами
Як створювати плавні зміни між конфігураціями розміщення елементів.

Корисний та наочно структурований ресурс для тих, хто хоче навчитися створювати власні адаптивні, ефективні та красиво анімовані лейаути в SwiftUI.

🇺🇦 iOSDevUA
💡Оновлення App Store Review Process

Apple внесла кілька важливих змін у процес публікації та маркетингу застосунків:

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

👉 Ліміт кастомних сторінок у App Store збільшили удвічі — до 70.
Кожній сторінці тепер можна задавати власні ключові слова для пошуку.

👉 Промокоди поступово відключать у 2026 році.
Їх замінять offer codes, які працюють і з внутрішніми покупками, і з підписками.

Ці зміни значно спрощують роботу з релізами та дають більше можливостей для гнучкого маркетингу в App Store.

🇺🇦 iOSDevUA
👍2
💡Порада щодо продуктивності для List + ForEach у SwiftUI

Якщо ваш список помітно підлагує, можна скористатися корисним параметром -LogForEachSlowPath, про який згадує автор тут:
https://x.com/KyleSwifter/status/1979849200222531959.

Установивши його в YES, SwiftUI почне логувати попередження про «повільні місця» у ForEach — наприклад, такі, як у цьому прикладі:
https://x.com/KyleSwifter/status/1979926926039896387.

🛠 Увімкнути параметр можна й через UserDefaults, як це зроблено в IceCubesApp — ось приклад PR:
https://github.com/Dimillian/IceCubesApp/pull/2350.

Цей підхід допомагає швидко знайти проблеми з ідентифікаторами, переформуванням в’юшок або неефективними моделями даних у ваших списках.

🇺🇦 iOSDevUA
3
💡Swift на FreeBSD

Важко сказати, наскільки це затребувано сьогодні (ймовірно, є ще певна кількість серверів, які так і не переїхали на Linux), але новина все ж цікава: вийшла бета-версія підтримки Swift-тулчейна для FreeBSD.

Тепер Swift можна запускати й будувати на цій ОС офіційно, що розширює можливості серверного використання та робить екосистему мови ще трохи ширшою.

🇺🇦 iOSDevUA
👍3
💡Нова партнерська програма App Store Mini Apps

📖 Apple анонсувала партнерську програму Mini Apps — застосунків, створених, зокрема, на HTML5 і JavaScript.

Розробникам пропонують знижену комісію 15% від продажів усередині таких міні-додатків.

Втім, щоб отримати цю знижку, потрібно використовувати Declared Age Range API та Advanced Commerce API.

➡️ Повний перелік вимог, критерії доступу та Q&A доступні тут:
https://developer.apple.com/programs/mini-apps-partner/

🇺🇦 iOSDevUA
💡Як знайти SwiftUI-в’ю, які оновлюються найчастіше

У Xcode 26 в Instruments з’явилася нова корисна можливість — профайлер, який вимірює частоту оновлення SwiftUI-в’юшок, а також час, який витрачається на кожне оновлення.

Ще цікавіше те, що інструмент показує граф викликів, який демонструє, що саме спричинило оновлення. Це дозволяє швидко знайти проблемні місця: надмірні state-зміни, зайві перерахунки layout’у або неочевидні побічні ефекти.

Ідеальний спосіб оптимізувати продуктивність, коли інтерфейс починає «тягнути», а причина неочевидна на перший погляд.

🇺🇦 iOSDevUA
2
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Прокачано автодоповнення коду в Swift

Проєкт, представлений Ахмедом Ельрефаї в межах Google Summer of Code, розширює можливості протоколу LSP для мов Swift та C.

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

Виграють усі редактори, що підтримують LSP: VS Code, Neovim, IntelliJ IDEA, Vim та інші.

📖 Ця робота вже інтегрована в SourceKit-LSP і буде включена в майбутні версії Swift-тулчейна:
https://www.swift.org/blog/gsoc-2025-showcase-code-completion/

🇺🇦 iOSDevUA
💡Нова версія Swift VS Code Extension

Якщо ви досі не пробували перейти на VS Code для розробки на Swift — саме час спробувати офіційне розширення. У новому релізі з’явилося кілька важливих оновлень:

👉 Додали онбординг для нових користувачів — тепер стартувати значно простіше.
👉 Інтегрували swiftly для керування версіями тулчейна прямо з редактора.
👉 Виправили багато багів та покращили стабільність.

Чудовий момент, щоб протестувати Swift у VS Code, якщо ви цього ще не робили.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
📦 Kinetics — опенсорсна бібліотека для емулювання реальної фізики в анімаціях SwiftUI

Бібліотека побудована на основі Swift 6 (повністю відповідає вимогам паралелізму) й додає анімаціям природності та фізичної правдоподібності, роблячи взаємодію користувача з інтерфейсом значно живішою.

🛠 Код доступний на GitHub, разом із демо-прикладом:
https://github.com/roberthein/kinetics

За вимогами сумісності: iOS 15.0+ / macOS 12.0+ та Swift 6.0+.

🇺🇦 iOSDevUA
👍1
💡Про жест MagnifyGesture

Жест pinch-to-zoom з’явився в SwiftUI ще в iOS 17. У цілому працювати з ним неважко, але є один ключовий момент: чи потрібно зберігати масштаб після завершення жесту, чи ж повертати в’ю у вихідний стан.

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

Матеріал містить практичні приклади, які допоможуть швидко впровадити масштабування у SwiftUI та коректно контролювати поведінку інтерфейсу.

🇺🇦 iOSDevUA
💡Адаптація гібридного проєкту SwiftUI + UIKit до Liquid Glass

📖 У цій статті описано рішення, які автор прийняв під час рефакторингу Sheet, Navigation та Popover, щоб коректно інтегрувати нову стилістику Liquid Glass.

Також є приклад обчислення розмірів для UIBarButtonItem, робота з CABackdropLayer, а ще — демонстрація того, як створити унікальний ефект «скляного тексту» за допомогою Core Text.

🛠 Увесь код доступний у GitHub-проєкті:
https://github.com/zhangqifan/Insights.

🇺🇦 iOSDevUA
👍3
💡Як працює Language Discovery

Я пропустив момент, коли в iOS 26 з’явилася дуже цікава функція: тепер дізнаватися про мовні вподобання користувача можна не старим способом:
let userLanguages = Locale.preferredLanguages

а новим API з фреймворку Language Discovery.

У чому суть?

Система тепер динамічно відстежує, які мови користувач застосовує в різних контекстах:
• під час вводу тексту,
• у споживанні контенту,
• у різних застосунках.

Завдяки цьому можна отримати значно більше корисної інформації про мовні вподобання, ніж просто список локалей.

Що можна дізнатися

Фреймворк дозволяє отримати не лише мову інтерфейсу, а й:
• актуальні правила написання (LTR / RTL),
валюту (currency code),
регіональні параметри,
• та інші важливі контекстні дані.

Таким чином, Language Discovery дає можливість робити застосунки більш персоналізованими та чутливими до мовних звичок користувачів, а не просто до системної локалі.

🇺🇦 iOSDevUA
1
💡Антиплагіатні правила в 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