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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
🔎 Пошуковик по всіх iOS-блогах

Якщо потрібно швидко знайти якісний матеріал по темі (і окрім пошуку в цьому каналі), зацініть цей сервіс. Він уміє шукати по 675 блогах і 15 000 статтях — інколи знаходить те, що Google пропускає.

Корисно, коли треба не “перший-ліпший туторіал”, а нормальний розбір з прикладами 👀

🇺🇦 iOSDevUA
5🔥2
🍏 anyAppleOS — один @available замість списку всіх OS

Після уніфікації номерів версій iOS / macOS / watchOS та інших платформ з’явився приємний побічний ефект: перевірку доступності API в @available можна буде робити одним маркером anyAppleOS, без переліку всіх операційок вручну.

Тобто замість умовного “iOS, macOS, watchOS, tvOS…” — коротко й читабельно. Нарешті трохи менше шуму в атрибутах

🇺🇦 iOSDevUA
2🔥2
💡Composable Architecture 2.0 — прев’ю великого оновлення TCA

Point-Free викотили beta-preview TCA 2.0, і виглядає так, що бібліотека робить великий крок у бік простішої, “SwiftUI-подібної” ментальної моделі.

Що з ключового:
👉 API переробили, щоб він більше нагадував SwiftUI
👉 макрос @Feature приходить на зміну ред’юсерам — і загалом TCA відходить від підходів Elm/Redux
👉 менше “перекидання” обʼєктів туди-сюди завдяки глобальному сховищу для запису стейту
👉 bindings зі SwiftUI суттєво прокачали
👉 ще багато нового: хуки, інтеграція з життєвим циклом застосунку, краща інкапсуляція, нові способи комунікації між фічами та покращене тестування

Якщо ви на TCA — точно варто глянути, що там готують 👀

🇺🇦 iOSDevUA
4🥱2
⚡️ Скіл для прискорення збірки Xcode

Ну що, знову “не тиждень без нового скіла” 😄 Цього разу — Xcode Build Optimization skill, який підказує агенту, як шукати й прибирати вузькі місця в збірці: налаштування, підходи, типові причини повільних build’ів.

У твіттері люди діляться дуже різними цифрами — хтось бачить ~5%, а хтось витягує аж до ~50% прискорення (залежить від проєкту й того, що саме боліло).

Якщо ваш ⌘B — це час зробити каву, то варто закинути в бібліотеку 📚

🇺🇦 iOSDevUA
🔥2
🔧 Демангління у Swift 6.4

У майбутній версії Swift прямо в рантайм додадуть можливість демангління символів — тепер назви функцій будуть людиночитаними без жодних сторонніх тулів.
Що це означає на практиці? Більше не треба тягнути окремі утиліти, щоб розшифрувати загадкові $s4main... — все працюватиме з коробки.

⚠️ Але є нюанс: ніяких гарантій стабільності формату не буде. Розробники Swift прямо кажуть — формат виводу може змінюватися від версії до версії, тож покладатися на результат у своїй логіці (парсити його, порівнювати рядки тощо) — погана ідея. Використовуйте суто для дебагу та логів.

🇺🇦 iOSDevUA
🎉 Swift-плагін для VS Code тепер в Open VSX

Офіційний Swift-плагін нарешті з'явився в реєстрі Open VSX — а це означає, що встановити його в Cursor, Windsurf та інші IDE на базі VS Code можна прямо з вбудованого маркетплейсу. Без ручного завантаження .vsix-файлів, без танців з бубном.

Для тих, хто пише на Swift не лише в Xcode — велика новина. Тепер повноцінна підтримка мови (LSP, підсвічування, автодоповнення, дебаг) доступна там, де вам зручно працювати.

🇺🇦 iOSDevUA
🗓 Складнощі з дуже давніми датами в iOS

Хто хоч раз працював із календарями, той знає: що глибше копаєш в історію — то більше шансів натрапити на дивні артефакти 🫠

У статті розбирають кілька таких кейсів, специфічних саме для Apple SDK: як поводяться старі дати, де можуть вилізти несподівані нюанси в обчисленнях і чому “просто Date” інколи зовсім не “просто”.

🇺🇦 iOSDevUA
🔥1
🧩 Xylem — XML-парсер на чистому Swift

З’явився Xylem — новий XML-парсер на Swift:
🔗 https://github.com/compnerd/xylem

Що в ньому приваблює:
мінімалістичний і модульний
• заявляють швидкість і безпечність
без жодних залежностей (0 deps)

Завдяки цьому він виходить кросплатформним — має працювати всюди, де є Swift.

🇺🇦 iOSDevUA
🚀 Покращена підтримка iOS у Codex

OpenAI продовжують “вертикалізувати” Codex під конкретні стеки — і iOS теж помітно прокачали.

З останнього оновлення build iOS apps плагін автоматично встановлює та налаштовує XcodeBuildMCP, тож агент може сам:
збирати застосунок
запускати тести
• робити UI-автоматизацію / інспекцію симулятора
• і загалом допомагати з девом у стилі CLI-first, без потреби відкривати Xcode GUI.

🔗 Твіт: https://x.com/dimillian/status/2041644634347307173?s=46
🔗 Дока: https://developers.openai.com/codex/use-cases/native-ios-apps

🇺🇦 iOSDevUA
2
🔢 FormatStyle Guide — плейграунд для форматування чисел у Swift

Chris Eidhof випустив спіноф свого онлайн SwiftUI-плейграунда — але цього разу він про FormatStyle.

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

🇺🇦 iOSDevUA
1
🐢 Lazy properties у SwiftUI: користь, продуктивність і підводні камені

Хороший матеріал про те, що таке lazy властивості, як вони реально впливають на продуктивність, і чому у SwiftUI з ними інколи можна неприємно “влетіти”.

Підійде, якщо ви:
- оптимізуєте ініціалізацію важких об’єктів
- помічаєте дивну поведінку стану/рендеру
- або просто хочете уникнути типових lazy-пасток у SwiftUI

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
Круті SwiftUI transitions через Metal-шайдери

Якщо стандартні SwiftUI-переходи вже трохи “набридли” — ось матеріал, де показують, як прокачати transitions через distortionEffect + Metal-шейдери.

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

🇺🇦 iOSDevUA
4👍2
♿️ Не всім потрібно, але дуже цікаво: як зробити iOS-ігри доступнішими (accessibility)

Матеріал невеликий, але по суті: які моменти в іграх найчастіше ламають доступність і що можна зробити, щоб людям з різними потребами було комфортніше грати на iPhone/iPad.

Бонус: у кінці є додаткові посилання — можна зануритися глибше, якщо тема відгукується 👀

🇺🇦 iOSDevUA
1
This media is not supported in your browser
VIEW IN TELEGRAM
Як робити “морфінг” анімації в SwiftUI: коли з кнопки виростає контрол

Дуже кайфовий туторіал про анімації в стилі: натискаєш кнопку — і з неї плавно “виростає” sheet/контрол (виглядає як один безперервний елемент, без різкого стрибка).

Якщо любите UI-поліш і хочете додати в інтерфейс трохи “вау” — збережіть у закладки 👀

🇺🇦 iOSDevUA
👍8🔥5
💳 Новий тип підписок в iOS: “річна з оплатою щомісяця” (12-місячне зобов’язання)

Apple додала для auto-renewable subscriptions новий варіант оплати: користувач платить щомісяця, але комітиться на 12 платежів — по суті, це “розстрочка” на річну підписку.

Як це працює 👇

- Користувач може скасувати підписку будь-коли, але це лише вимикає автопродовження після завершення всіх 12 платежів — оплачувати решту місяців все одно доведеться.
- У своєму Apple Account буде видно скільки платежів уже зроблено і скільки залишилось.
- Apple також надсилатиме email (і push, якщо увімкнено) перед датою списання.

Для девів: вже можна налаштовувати в App Store Connect і тестувати в Xcode. Доступність для користувачів — з релізами 26.5 у травні, майже всюди, окрім США та Сінгапуру.

🔗 Деталі: https://developer.apple.com/news/?id=agq42lxe
5
⚡️ Immediate tasks у Swift Concurrency: як працюють на практиці

У Swift 6.2 зʼявився новий тип задач після прийняття SE-0472.

Ідея проста: Task.immediate допомагає у сценаріях, де важливо прибрати стартову затримку, яка виникає під час створення та планування таски.

Коли це може бути корисно 👇

- задача дуже легка і немає сенсу “платити” оверхедом на планування
- ви вже знаєте, що знаходитеся в потрібному акторі, але ще не в async-контексті
- треба максимально швидко стартанути роботу “тут і зараз”

Важливий нюанс: Task.immediate змінює момент запуску, а не весь життєвий цикл таски.

📖 Детально про плюси, мінуси й підводні камені — тут:
https://www.avanderlee.com/concurrency/immediate-tasks-in-swift-concurrency-explained/

🇺🇦 iOSDevUA
👍1
🕵️ Apple тихо підкручує App Review (особливо для нових застосунків)

Останні тижні багато девів помічають, що під час рев’ю (зокрема для нових апок) частіше просять додаткові матеріали/пояснення:

👉 Відео/скрінрекорд із реального девайсу, де видно основний флоу
👉 Короткий опис сенсу застосунку і яку реальну цінність він дає
👉 Інструкції, як отримати доступ до ключових фіч (демо-акаунт, кроки, що натиснути, куди зайти)

Apple і раніше прямо радили заповнювати Notes для рев’ю (логіни/доступи, пояснення концепції тощо), але зараз виглядає так, що ці речі стали більш “обов’язковими на практиці”.

Можливе пояснення — реакція на хвилю “нашвидкоруч згенерених” застосунків, які масово полетіли в стор. (це вже радше здогад, але звучить логічно)

🇺🇦 iOSDevUA
👍5
🎥 Q&A з Apple про Swift Concurrency

Схоже, Apple вперше зробили відкритий лайв на YouTube у форматі Q&A — розбирали питання розробників про Swift Concurrency (актори, таски, structured concurrency, нюанси поведінки тощо).

Формат дуже правильний: менше “маркетингу”, більше конкретики й відповідей на реальні кейси. Тож якщо зайде — підтримайте лайком, щоб такі стріми робили частіше 🙌

🇺🇦 iOSDevUA
🔥21
📲 Найпростіший сервіс для пушів (200 рядків коду)

Якщо у вас немає складних вимог до push-нотифікацій (сегменти, A/B, складні сценарії, аналітика тощо), то, можливо, вам взагалі не потрібен платний сервіс.

У статті показують підхід, як зробити власний мінімальний сервіс для пушів буквально на ~200 рядків, і хостити його на Cloudflare (щоб було дешево й просто підтримувати).

Корисно, якщо хочеться прибрати зайві підписки й тримати базовий пуш-флоу під контролем.

🇺🇦 iOSDevUA
5👍2
📦 Package Traits у Xcode 26.4 (нарешті!)

У Xcode 26.4 з’явилась довгоочікувана підтримка package traits — фічі SwiftPM, яка дозволяє авторам бібліотек додавати опції конфігурації пакета, а вам у застосунку — вмикати/вимикати їх під свої потреби.

Навіщо це корисно 👇

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

Класний крок для SwiftPM: менше “все або нічого”, більше гнучких конфігурацій.

🇺🇦 iOSDevUA
👏3