ru
Feedback
🇺🇦 iOS Dev UA - спільнота iOS розробників

🇺🇦 iOS Dev UA - спільнота iOS розробників

Открыть в Telegram

Перша україномовна спільнота iOS розробників 🇺🇦 👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel

Больше
384
Подписчики
Нет данных24 часа
+37 дней
+1230 день
Архив постов
🛡 Безпека iOS-застосунків в епоху AI У новому випуску Swift Academy Дейв Пуарʼє та Дея Ельхавалде детально обговорюють, як змінюється безпека iOS-застосунків на фоні розвитку штучного інтелекту. Йдеться не лише про конкретні вразливості, а й про ширший контекст: культуру розробки, архітектуру, мислення зловмисників і те, як може виглядати майбутнє захисту застосунків. У відео розбирають: 👉 які нові типи атак зʼявляються; 👉 які помилки iOS-розробники досі часто допускають; 👉 як AI може впливати і на атаки, і на захист; 👉 чому не варто повністю покладатися на думку, що «Apple сама подбає про нашу безпеку». Останній пункт особливо важливий: автори називають це одним із найпоширеніших міфів в iOS-розробці. Корисно для всіх, хто створює iOS-застосунки, працює з архітектурою або хоче краще розуміти, як безпека змінюється в реальності, де AI стає частиною і розробки, і потенційних атак ⚠️ 📺 Відео: https://www.youtube.com/watch?v=Jtk4O1rDKTI 🇺🇦 iOSDevUA

📱 DOU Mobile Meetup 2026 — зустрічаємось у Києві! 16 червня в книгарні «Сенс» відбудеться DOU Mobile Meetup 2026 — перша та
📱 DOU Mobile Meetup 2026 — зустрічаємось у Києві! 16 червня в книгарні «Сенс» відбудеться DOU Mobile Meetup 2026 — перша та єдина цього року подія для мобільних розробників від DOU. Що на вас чекає: 🎤 8 спікерів — з MacPaw, appflame, ПриватБанк, GlobalLogic, Drill App та United Tech 🛠 воркшоп 🎯 активності на стендах партнерів 📚 розіграш книги 🥂 фуршет 🤝 і багато-багато нетворкінгу 🎁 Бонус для всіх учасників нашої групи — промокод на знижку 10%: IOSDEVUA10 Деталі та реєстрація 👉 https://dou.ua/dou-mobile-meetup-2026/ До зустрічі на мітапі! 🚀 🇺🇦 iOSDevUA

🧵 Swift Sendable: як запобігати data race ще на етапі компіляції До появи Swift Concurrency у застосунках завжди залишався ризик, що кілька потоків одночасно звернуться до одного й того ж змінюваного стану. І найнеприємніше в таких помилках те, що їх дуже складно відтворити: застосунок може працювати стабільно місяцями, а потім раптово почати крашитися вже на проді 💥 У Swift Concurrency підхід інший: замість того щоб ловити гонки даних у рантаймі, Swift намагається не допустити їх появи ще під час компіляції. Саме тут у гру вступає протокол Sendable. У статті розбирають, як він працює, що таке data race, чому це небезпечно для застосунку і як Swift допомагає писати більш безпечний concurrency-код 🛡 Корисно для тих, хто працює з async/await, Task, акторами й хоче краще розуміти, як Swift захищає код від проблем із паралельним доступом до даних. 📖 Стаття: https://www.sagarunagar.com/blog/swift-sendable-compile-time-data-race-prevention/ 🇺🇦 iOSDevUA

📐 Розбір проблем з анімацією у SwiftUI List Корисний матеріал про те, чому в SwiftUI List можуть виникати дивні стрибки анімації, особливо коли змінюється висота рядків. У статті розбирають кілька типових складнощів, які зʼявляються в реальних застосунках: нерівномірні переходи, зміни spacing, неочікувані перескоки контенту та поведінку списку під час оновлення рядків. Окремо цікаво, що автор показує приклад реалізації власного кастомного layout, який допомагає краще контролювати поведінку списку й уникати таких візуальних артефактів ⚙️ Корисно для тих, хто працює зі SwiftUI, складними списками та хоче зробити анімації в інтерфейсі більш плавними й передбачуваними. 📖 Стаття: https://fatbobman.com/en/posts/taming-row-height-and-spacing-jumps/ 🛠 Вихідний код: https://gist.github.com/fatbobman/02a6ffffd58f0997b9f9155b89fea490?utm_source=Fatbobman%20Blog&utm_medium=web 🇺🇦 iOSDevUA

👁 Розпізнаємо текст на зображеннях за допомогою Vision Корисна стаття від Деніела Саїді про роботу з Vision-фреймворком в iO
👁 Розпізнаємо текст на зображеннях за допомогою Vision Корисна стаття від Деніела Саїді про роботу з Vision-фреймворком в iOS. Основний фокус — не просто знайти текст на зображенні, а правильно працювати з багаторядковим текстом і групувати розпізнані фрагменти в осмислені абзаци. Це особливо корисно для застосунків, де потрібно аналізувати документи, скриншоти, нотатки, фото з текстом або будь-який інший контент, який треба перетворити на структурований текст 🧠 Якщо працюєте з OCR, Vision або хочете краще зрозуміти, як Apple підходить до text recognition, варто подивитися. 📖 Стаття: https://danielsaidi.com/blog/2026/01/10/detecting-text-in-images-with-the-vision-framework 📺 WWDC-сесія: https://developer.apple.com/videos/play/wwdc2025/272/ 🇺🇦 iOSDevUA

🌀 Що приховує UIPageViewController Seb Vidal та ertem розкопали кілька неочевидних деталей про те, як насправді працює UIPageViewController. Виявляється, всередині все влаштовано доволі хитро: там використовується кастомний UIScrollView_UIQueuingScrollView, який створює лише ілюзію нескінченної стрічки. Насправді в ієрархії зазвичай є лише три вʼюхи: поточна, попередня і наступна. А ефект безперервного скролу досягається завдяки постійному й непомітному скиданню contentOffset та фреймів внутрішніх елементів. Найцікавіше починається далі 👇 Через приватний метод _visibleView можна отримати активний екран. А якщо поєднати це з KVO-трекінгом, врахувати розміри фрейму та interpageSpacing, то можна зібрати щось на кшталт віртуального contentOffset. І це вже відкриває простір для кастомних інтерактивних анімацій: наприклад, можна спробувати відтворити легендарний інтерактивний скрабер з Apple Photos прямо у своєму застосунку ✨ 🇺🇦 iOSDevUA

🧯 Як приховати стандартну модалку з крашами Xcode Якщо Xcode занадто часто падає, а вам уже набридло щоразу бачити величезні
+1
🧯 Як приховати стандартну модалку з крашами Xcode Якщо Xcode занадто часто падає, а вам уже набридло щоразу бачити величезні crash logs у стандартному вікні macOS, може допомогти невеликий трюк. Стефан Касас поділився командою, яка вмикає інший режим показу Crash Reporter:
defaults write com.apple.CrashReporter UseUNC -bool YES
Після цього краш-репорти мають менше дратувати й не відкриватися у звичному великому модальному вікні. Також можна встановити Additional Tools for Xcode і через Crash Reporter Prefs налаштувати більше опцій для поведінки crash reports ⚙️ Корисно, якщо ви часто працюєте з нестабільними білдами, бетами Xcode або просто не хочете, щоб кожен краш переривав робочий процес. 🔗 Твіт: https://x.com/TheMrKai77/status/2059732231061753930 🛠 Additional Tools for Xcode: https://developer.apple.com/download/all/?q=crash%20reporter 🇺🇦 iOSDevUA

🧵 Оптимізація коду зі Swift Concurrency через Xcode Instruments Антуан ван дер Лі випустив нове відео про те, як використову
🧵 Оптимізація коду зі Swift Concurrency через Xcode Instruments Антуан ван дер Лі випустив нове відео про те, як використовувати інструменти Xcode для аналізу й оптимізації коду зі Swift Concurrency. У матеріалі він показує, як можна дивитися на роботу застосунку в рантаймі, аналізувати стан Swift-задач і краще розуміти, що саме відбувається під капотом. З цікавого 👇 👉 як візуалізувати стан задач у Swift Concurrency; 👉 як дивитися на взаємозвʼязки у вигляді графів для structured concurrency; 👉 як окремі задачі впливають на CPU і продуктивність застосунку. Корисно для тих, хто вже працює з async/await, Task і хоче не просто писати асинхронний код, а розуміти його поведінку в реальному виконанні ⚡️ 📖 Оглядова стаття: https://www.avanderlee.com/concurrency/using-xcode-instruments-to-optimize-swift-concurrency-code/ 📺 Відео: https://www.youtube.com/watch?v=hDFOy-ynJ6I 🇺🇦 iOSDevUA

🌀 Робимо спінер у Claude Code більш iOS-ним Якщо ви користувалися Claude Code, то точно бачили його спінер — набір фраз, які зʼявляються, поки він виконує роботу. І виявляється, ці фрази можна кастомізувати й замінювати на свої 👀 Тримайте підбірку iOS-вайбових фраз для Claude Code, щоб під час роботи агента відчувати себе трохи ближче до рідної екосистеми Apple 🍎 Маленька деталь, але додає інструменту більше настрою й персональності. 🔗 GitHub: https://github.com/artemnovichkov/vibe-spinner 🇺🇦 iOSDevUA

🍎 Вийшла стабільна версія Cupertino У січні я вже ділився Cupertino — MCP-сервером, який передає вашому AI-агенту інформацію з документації Apple як контекст. Тепер у проєкту вийшла стабільна версія 🚀 Головне оновлення — пошук став значно точнішим. Тобто агент має краще знаходити релевантні частини документації й менше помилятися, коли працює з Apple API, Swift, SwiftUI та іншими інструментами екосистеми. У статті також багато деталей про те, як автори переробляли алгоритми пошуку та ранжування результатів. Якщо цікаво, як MCP-сервери можуть якісніше працювати з технічною документацією — варто почитати ⚡️ 🔗 Стаття: https://aleahim.com/blog/cupertino-first-light/ 🛠 GitHub: https://github.com/mihaelamj/cupertino 🇺🇦 iOSDevUA

📚 Від 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

🛸 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

🛠 DebugSwift — набір хелперів для дебагу Якщо хочеться мати більше інструментів для швидкого дебагу в iOS-проєкті, варто подивитися на DebugSwift. Це пакет із набором корисних фіч, які допомагають розбиратися з різними аспектами роботи застосунку прямо під час розробки. З цікавого 👇 👉 HTTP та WebSocket inspector — можна переглядати запити й навіть модифікувати їх. 👉 Оверлей із performance-метриками — щоб швидко бачити, як поводиться застосунок. 👉 Трекінг ре-рендерингу SwiftUI — корисно, коли потрібно зрозуміти, чому інтерфейс оновлюється частіше, ніж очікувалося. Звучить як зручний тул для тих, хто хоче менше гадати під час дебагу й більше бачити, що реально відбувається всередині застосунку ⚡️ 🔗 GitHub: https://github.com/DebugSwift/DebugSwift 🇺🇦 iOSDevUA

🗺 App Explorer — генератор карти екранів застосунку Зʼявився цікавий CLI-інструмент App Explorer, побудований навколо Claude Code. Його задача — допомогти швидко зрозуміти структуру застосунку й автоматично побудувати карту екранів та переходів. Як це працює 👇 👉 Інструмент відкриває ваш застосунок на хмарному пристрої й проходиться по всіх інтерактивних елементах. 👉 Кожен знайдений екран автоматично скриншотиться. 👉 На основі цього генерується звіт із картою всіх переходів. Корисно для QA, ревʼю навігації, онбордингу в новий проєкт або просто для того, щоб швидко побачити, як реально влаштований user flow у застосунку ⚡️ 🔗 GitHub: https://github.com/RevylAI/app-explorer 🇺🇦 iOSDevUA

🔁 Закриваємо loop в iOS-розробці Чим більше ваш AI-агент може перевіряти самостійно, тим менше вам доведеться вручну втручатися в його роботу. У статті зібрали кілька практичних ідей, як допомогти агенту швидше ітерувати, тестувати зміни й краще розуміти стан застосунку 👇 👉 Для швидкої роботи з окремими SwiftUI-компонентами можна використовувати Playbook — аналог Storybook зі світу веброзробки. 👉 Для тестування повної логіки застосунку, включно з навігацією, варто дати можливість запускати app з будь-якого екрана через кастомні launch-схеми з моками. 👉 І обовʼязково дайте агенту доступ до логів та output з xcodebuild — без цього він фактично працює наосліп. Ідея проста: що краще агент бачить результат своєї роботи, то швидше він може сам знаходити проблеми, фіксити їх і рухатися далі ⚡️ 🔗 Стаття: https://nadol.dev/blog/closing-the-loop-on-ios/ 🇺🇦 iOSDevUA

💬 Плаваюча картка у SwiftUI через safeAreaBar Корисний приклад для тих, хто хоче додати в застосунок плаваючу картку з call-
💬 Плаваюча картка у SwiftUI через safeAreaBar Корисний приклад для тих, хто хоче додати в застосунок плаваючу картку з call-to-action кнопкою — акуратно вбудовану в нижню частину екрана. У статті показують нескладну реалізацію з використанням safeAreaBar для iOS 26, а також варіант із fallback для iOS 18. Це може стати в пригоді для онбордингу, промо-блоків, підписок, підтверджень дій або будь-яких сценаріїв, де потрібно ненавʼязливо показати користувачу важливий CTA ⚡️ 📖 Код і пояснення: https://codakuma.com/floating-safe-area-bar/ 🇺🇦 iOSDevUA

Налаштування 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

🍎 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

🤖 Втомилися від 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

⚡️ Ще трохи про 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