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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Розширення для Codex

У десктопного застосунку Codex зʼявився неофіційний механізм розширень.

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

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

🔗 Codex++:
https://github.com/b-nnett/codex-plusplus

🔗 Твік з iOS Simulator:
https://github.com/b-nnett/codex-plusplus-ios-simulator

🇺🇦 iOSDevUA
👍1
📚 Безплатна книга з алгоритмів від Джеффа Еріксона

Ділюся електронною версією підручника «Algorithms» від Jeff Erickson — плюс там же є конспекти лекцій з інших теоретичних курсів, які він читав в University of Illinois.
Цей матеріал використовують як базовий референс для курсів CS 374 та CS 473.

⚠️ Важливо: це не підручник для новачків і не “вступ у структури даних”. Автор розраховує, що ви вже дружите з дискретною математикою і маєте фундамент.

📖 Сторінка курсу/матеріалів:
https://jeffe.cs.illinois.edu/teaching/algorithms/

➡️ PDF книги:
https://jeffe.cs.illinois.edu/teaching/algorithms/book/Algorithms-JeffE.pdf

🇺🇦 iOSDevUA
🔥3
🤖 Програмуємо роботів на Swift

Зʼявилася нова бібліотека IndustrialKit — інструмент для тих, хто хоче писати код не лише для застосунків, а й для реальних роботизованих маніпуляторів.

⚙️ Вона дає примітиви, які дозволяють програмувати окремі роборуки та навіть цілі виробничі лінії з ними.

Тобто Swift поступово виходить за межі мобільної розробки і заходить у світ промислової автоматизації.

Здається, саме час купити десяток роборуок і зіграти у Factorio в реальному житті 🏭

🔗 GitHub:
https://github.com/MalkarovPark/IndustrialKit

🇺🇦 iOSDevUA
👍2
🧩 Каталог Swift Playgrounds

Swift Playgrounds, здається, вже радше мертві, ніж живі — але якщо вам все ще хочеться трохи з ними поекспериментувати, є корисна знахідка.

На SwiftGrounds зібрали каталог прикладів від спільноти — від простих демо до складніших проєктів.

Це хороший варіант, якщо хочеться швидко подивитися, на що здатні Playgrounds, погратися з ідеями або просто знайти натхнення для Swift-експериментів ⚡️

🔗 Каталог:
https://swiftgrounds.dev/

🇺🇦 iOSDevUA
👍21
⚡️ Оптимізуємо проєкт за допомогою AI

Продовжуємо тему того, як AI може допомагати не лише писати код, а й покращувати вже наявний проєкт.

Цього разу — про Time Profiler в Xcode Instruments.

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

У статті показують, як поєднати Time Profiler + AI, щоб швидше аналізувати performance-проблеми, знаходити вузькі місця й отримувати підказки щодо покращення коду 🚀

Корисно для всіх, хто працює з iOS/macOS-розробкою і хоче не просто «на око» оптимізувати застосунок, а робити це більш системно.

🔗 Стаття:
https://www.avanderlee.com/ai-development/xcode-instruments-time-profiler-improve-performance-with-ai/

🇺🇦 iOSDevUA
👍4
⚡️ Task.immediate у Swift Concurrency

Є корисна стаття про те, що таке Task.immediate у Swift Concurrency і в яких випадках він може стати в пригоді.

Автор детально пояснює, як працюють звичайні Task, чим від них відрізняється immediate-виконання, і чому це важливо для коду, де потрібно краще контролювати порядок виконання асинхронних задач.

Особливо корисно, якщо ви працюєте зі Swift Concurrency, async/await і хочете глибше розуміти, як саме система планує виконання задач під капотом 🧠

Стаття написана доступно й зрозуміло, без зайвої магії навколо concurrency.

🔗 Стаття:
https://www.avanderlee.com/concurrency/immediate-tasks-in-swift-concurrency-explained/

🇺🇦 iOSDevUA
2
🚀 Вийшов Swift 6.3.2

Команда Swift анонсувала реліз Swift 6.3.2 — невелике, але корисне оновлення з фіксами для компілятора, SwiftPM, Swift Testing, SourceKit-LSP та інших інструментів.

Що цікавого:

🧩 C++ interop на Linux тепер краще працює з бібліотеками, які використовують C++23 headers, наприклад <expected>.

📦 У Swift Package Manager виправили кілька проблем, повʼязаних із Package Registry, а також покращили роботу з Bundle.module.

🧪 У Swift Testing поправили поведінку exit tests і додали warning для unsupported generic type parameters у макросах типу @Test.

🛠 SourceKit-LSP отримав фікс крашу на Windows і нову опцію forceResolvedVersions для роботи з Package.resolved.

Також Xcode 26.5 вже містить Swift 6.3.2, а toolchain можна встановити через Swiftly:
swiftly install 6.3.2

🔗 Анонс:
https://forums.swift.org/t/announcing-swift-6-3-2/86698

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
⌨️ Концепт швидкого видалення тексту на iPhone

Колишній дизайнер Apple Елі Геррон запропонував цікавий варіант, як можна було б покращити стандартну клавіатуру iPhone.

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

Звучить як маленька зміна, але для тих, хто часто редагує текст на телефоні, це могло б бути справді зручно ⚡️

Як думаєте, корисна фіча чи зайве ускладнення?

🇺🇦 iOSDevUA
👍111🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
⌚️ Шість років еволюції карт на watchOS

David Smith, один із найдосвідченіших розробників під watchOS, написав цікаву ретроспективу про розвиток свого застосунку з картами.

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

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

Особливо цікаво для тих, хто працює з Apple Watch, мобільними інтерфейсами або просто любить розбирати, як дизайн стає кращим з часом 🧭

🔗 Стаття:
https://david-smith.org/blog/2026/04/29/maps-on-watchos/

🇺🇦 iOSDevUA
2
⚡️ Ще трохи про Swift Concurrency

Якщо ви працюєте зі Swift Concurrency, ось корисний матеріал про неочевидні моменти, які можуть впливати на продуктивність застосунку.

У статті розбирають unexpected task suspension points — ситуації, коли задача може призупинятися не там, де ви цього очікуєте.

І саме такі дрібні нюанси іноді стають причиною зайвих затримок, дивної поведінки або менш ефективного виконання асинхронного коду 🧠

Корисно для тих, хто хоче краще розуміти, як працюють Task, async/await і планування задач у Swift під капотом.

🔗 Стаття:
https://www.avanderlee.com/concurrency/unexpected-task-suspension-points-in-swift-concurrency/

🇺🇦 iOSDevUA
2👍1
🤖 Втомилися від AI? А як щодо AI-powered симулятора?

Так, тема AI вже трохи всюди. Але AI-powered симулятор для Xcode ми ще не обговорювали.

Автор знову просуває свій продукт, але сама ідея виглядає цікаво: автоматизувати роботу із симулятором так, щоб AI міг ефективніше взаємодіяти з iOS-застосунком, тестувати сценарії та не витрачати зайві токени на хаотичні дії.

Особливо цікаво для тих, хто експериментує з AI в iOS-розробці, автоматизацією тестування або хоче краще зрозуміти, як можна поєднати Xcode Simulator + AI-агентів ⚡️

Можливо, не must-have для всіх, але точно варто подивитися.

🔗 Стаття:
https://www.avanderlee.com/ai-development/ai-powered-xcode-simulator-automation-token-efficient/

🇺🇦 iOSDevUA
1
🍎 SwiftUI для справжніх macOS-застосунків

Цікава стаття про те, як робити macOS-застосунки на SwiftUI — але не просто «версію для Mac», а повноцінні програми, які інтегруються в систему, можуть чимось керувати й поводяться як справжні нативні Mac-апки.

Автор називає такі застосунки Mac-assed App — тобто не просто застосунок, який випадково запускається на macOS, а продукт, який справді відчувається як частина Mac-екосистеми.

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

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

🔗 Стаття:
https://pfandrade.me/blog/mac-assed-swiftui-app/

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
Налаштування App Intents у SwiftUI-застосунках

Якщо ви створюєте App Intent, ваша фіча стає видимою для системи — а значить, користувач може запускати її через Shortcuts або Siri.

Це зручний спосіб зробити застосунок більш інтегрованим в екосистему Apple і дати користувачам швидкий доступ до важливих дій ⚡️

📖 У цьому гайді детально показують:

1️⃣ Як вказати текст, який система має відображати.
2️⃣ Як запитати в користувача додаткові параметри.
3️⃣ Як показати потрібний діалог під час взаємодії.

Корисно для тих, хто працює зі SwiftUI і хоче додати у свій застосунок підтримку Siri, Shortcuts та системних інтентів 🛠

🔗 Гайд:
https://www.createwithswift.com/customizing-an-app-intent/

🛠 Код проєкту:
https://www.createwithswift.com/content/files/2025/04/BooksShelfCustomIntent-final-1.zip

🇺🇦 iOSDevUA
2
💬 Плаваюча картка у SwiftUI через safeAreaBar

Корисний приклад для тих, хто хоче додати в застосунок плаваючу картку з call-to-action кнопкою — акуратно вбудовану в нижню частину екрана.

У статті показують нескладну реалізацію з використанням safeAreaBar для iOS 26, а також варіант із fallback для iOS 18.

Це може стати в пригоді для онбордингу, промо-блоків, підписок, підтверджень дій або будь-яких сценаріїв, де потрібно ненавʼязливо показати користувачу важливий CTA ⚡️

📖 Код і пояснення:
https://codakuma.com/floating-safe-area-bar/

🇺🇦 iOSDevUA
1👍1🔥1
🔁 Закриваємо loop в iOS-розробці

Чим більше ваш AI-агент може перевіряти самостійно, тим менше вам доведеться вручну втручатися в його роботу.

У статті зібрали кілька практичних ідей, як допомогти агенту швидше ітерувати, тестувати зміни й краще розуміти стан застосунку 👇

👉 Для швидкої роботи з окремими SwiftUI-компонентами можна використовувати Playbook — аналог Storybook зі світу веброзробки.

👉 Для тестування повної логіки застосунку, включно з навігацією, варто дати можливість запускати app з будь-якого екрана через кастомні launch-схеми з моками.

👉 І обовʼязково дайте агенту доступ до логів та output з xcodebuild — без цього він фактично працює наосліп.

Ідея проста: що краще агент бачить результат своєї роботи, то швидше він може сам знаходити проблеми, фіксити їх і рухатися далі ⚡️

🔗 Стаття:
https://nadol.dev/blog/closing-the-loop-on-ios/

🇺🇦 iOSDevUA
🗺 App Explorer — генератор карти екранів застосунку

Зʼявився цікавий CLI-інструмент App Explorer, побудований навколо Claude Code.

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

Як це працює 👇

👉 Інструмент відкриває ваш застосунок на хмарному пристрої й проходиться по всіх інтерактивних елементах.
👉 Кожен знайдений екран автоматично скриншотиться.
👉 На основі цього генерується звіт із картою всіх переходів.

Корисно для QA, ревʼю навігації, онбордингу в новий проєкт або просто для того, щоб швидко побачити, як реально влаштований user flow у застосунку ⚡️

🔗 GitHub:
https://github.com/RevylAI/app-explorer

🇺🇦 iOSDevUA
👍2
🛠 DebugSwift — набір хелперів для дебагу

Якщо хочеться мати більше інструментів для швидкого дебагу в iOS-проєкті, варто подивитися на DebugSwift.

Це пакет із набором корисних фіч, які допомагають розбиратися з різними аспектами роботи застосунку прямо під час розробки.

З цікавого 👇

👉 HTTP та WebSocket inspector — можна переглядати запити й навіть модифікувати їх.
👉 Оверлей із performance-метриками — щоб швидко бачити, як поводиться застосунок.
👉 Трекінг ре-рендерингу SwiftUI — корисно, коли потрібно зрозуміти, чому інтерфейс оновлюється частіше, ніж очікувалося.

Звучить як зручний тул для тих, хто хоче менше гадати під час дебагу й більше бачити, що реально відбувається всередині застосунку ⚡️

🔗 GitHub:
https://github.com/DebugSwift/DebugSwift

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
🛸 Star Wars-прототип на SwiftUI з AirPods і датчиками руху

Натрапив на дуже незвичне використання трекінгу рухів у SwiftUI.

Зазвичай такі можливості частіше зустрічаються в застосунках для контролю постави або фітнес-сценаріях, але тут ідея набагато цікавіша — Star Wars-концепт, де рухи зчитуються через AirPods і motion sensors.

Виглядає як класний приклад того, як стандартні Apple-девайси можна використовувати не лише за прямим призначенням, а й для експериментальних інтерактивних прототипів ⚡️

🔥 Кайфова ідея, особливо для тих, хто любить SwiftUI, motion tracking і трохи магії з екосистеми Apple.

🔗 Концепт:
https://x.com/toddham/status/2001729957211304305?s=46&t=v6hph5BjidLlEJbJP8V7wA

🇺🇦 iOSDevUA
🔥103
📚 Від WebView до CoreText: як створювали власну EPUB-читалку для iOS

Цікавий технічний розбір про те, чому розробник вирішив відмовитися від стандартного підходу з WebView і перейти до рендерингу через CoreText.

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

У статті розбирають шлях до власної реалізації: структура EPUB, інтеграція з можливостями iOS, CoreText-рендеринг, збереження позиції читання та підтримка CJK-типографіки як однієї з ключових вимог.

Виглядає як корисний матеріал для тих, хто цікавиться iOS-розробкою, текстовим рендерингом і створенням складних кастомних інтерфейсів ⚙️

📖 Деталі в статті:
https://chang-jui-lin.github.io/Yuedu-reader/2026/05/20/from-webview-to-coretext/

🛠 Реалізація на GitHub:
https://github.com/CHANG-JUI-LIN/Yuedu-reader

🇺🇦 iOSDevUA
👍42
🍎 Вийшла стабільна версія Cupertino

У січні я вже ділився Cupertino — MCP-сервером, який передає вашому AI-агенту інформацію з документації Apple як контекст.

Тепер у проєкту вийшла стабільна версія 🚀

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

У статті також багато деталей про те, як автори переробляли алгоритми пошуку та ранжування результатів. Якщо цікаво, як MCP-сервери можуть якісніше працювати з технічною документацією — варто почитати ⚡️

🔗 Стаття:
https://aleahim.com/blog/cupertino-first-light/

🛠 GitHub:
https://github.com/mihaelamj/cupertino

🇺🇦 iOSDevUA
🔥3
🌀 Робимо спінер у Claude Code більш iOS-ним

Якщо ви користувалися Claude Code, то точно бачили його спінер — набір фраз, які зʼявляються, поки він виконує роботу.

І виявляється, ці фрази можна кастомізувати й замінювати на свої 👀

Тримайте підбірку iOS-вайбових фраз для Claude Code, щоб під час роботи агента відчувати себе трохи ближче до рідної екосистеми Apple 🍎

Маленька деталь, але додає інструменту більше настрою й персональності.

🔗 GitHub:
https://github.com/artemnovichkov/vibe-spinner

🇺🇦 iOSDevUA
👍2