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

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

Відкрити в Telegram

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

Показати більше
388
Підписники
+224 години
+67 днів
+330 день
Архів дописів
Налаштування 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

⌚️ Шість років еволюції карт на watchOS David Smith, один із найдосвідченіших розробників під watchOS, написав цікаву ретроспективу про розвиток свого застосунку з картами. У статті він показує, як протягом шести років поступово змінював дизайн, тестував різні підходи й крок за кроком наближав інтерфейс до тієї форми, яку вважає найбільш вдалою. Це не просто історія про один застосунок, а хороший приклад того, як продукт може еволюціонувати через маленькі ітерації, уважність до контексту використання та розуміння обмежень платформи. Особливо цікаво для тих, хто працює з Apple Watch, мобільними інтерфейсами або просто любить розбирати, як дизайн стає кращим з часом 🧭 🔗 Стаття: https://david-smith.org/blog/2026/04/29/maps-on-watchos/ 🇺🇦 iOSDevUA

⌨️ Концепт швидкого видалення тексту на iPhone Колишній дизайнер Apple Елі Геррон запропонував цікавий варіант, як можна було б покращити стандартну клавіатуру iPhone. Ідея проста: замість того щоб видаляти текст по одному символу й чекати, поки клавіатура «розженеться», можна було б затиснути кнопку видалення і стирати текст одразу цілими словами — або навіть із поступовим прискоренням. Звучить як маленька зміна, але для тих, хто часто редагує текст на телефоні, це могло б бути справді зручно ⚡️ Як думаєте, корисна фіча чи зайве ускладнення? 🇺🇦 iOSDevUA

🚀 Вийшов 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

⚡️ 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

⚡️ Оптимізуємо проєкт за допомогою AI Продовжуємо тему того, як AI може допомагати не лише писати код, а й покращувати вже на
⚡️ Оптимізуємо проєкт за допомогою 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

🧩 Каталог Swift Playgrounds Swift Playgrounds, здається, вже радше мертві, ніж живі — але якщо вам все ще хочеться трохи з н
🧩 Каталог Swift Playgrounds Swift Playgrounds, здається, вже радше мертві, ніж живі — але якщо вам все ще хочеться трохи з ними поекспериментувати, є корисна знахідка. На SwiftGrounds зібрали каталог прикладів від спільноти — від простих демо до складніших проєктів. Це хороший варіант, якщо хочеться швидко подивитися, на що здатні Playgrounds, погратися з ідеями або просто знайти натхнення для Swift-експериментів ⚡️ 🔗 Каталог: https://swiftgrounds.dev/ 🇺🇦 iOSDevUA

🤖 Програмуємо роботів на Swift Зʼявилася нова бібліотека IndustrialKit — інструмент для тих, хто хоче писати код не лише для застосунків, а й для реальних роботизованих маніпуляторів. ⚙️ Вона дає примітиви, які дозволяють програмувати окремі роборуки та навіть цілі виробничі лінії з ними. Тобто Swift поступово виходить за межі мобільної розробки і заходить у світ промислової автоматизації. Здається, саме час купити десяток роборуок і зіграти у Factorio в реальному житті 🏭 🔗 GitHub: https://github.com/MalkarovPark/IndustrialKit 🇺🇦 iOSDevUA

📚 Безплатна книга з алгоритмів від Джеффа Еріксона Ділюся електронною версією підручника «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

💡Розширення для Codex У десктопного застосунку Codex зʼявився неофіційний механізм розширень. Як це працює: ви патчите бінар
💡Розширення для 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

📦 Package Traits у Xcode 26.4 (нарешті!) У Xcode 26.4 з’явилась довгоочікувана підтримка package traits — фічі SwiftPM, яка дозволяє авторам бібліотек додавати опції конфігурації пакета, а вам у застосунку — вмикати/вимикати їх під свої потреби. Навіщо це корисно 👇 - можна зробити окремі фічі бібліотеки опційними - не тягнути зайві залежності, якщо фіча потрібна лише частині користувачів - тримати пакет більш модульним і легшим для інтеграції Класний крок для SwiftPM: менше “все або нічого”, більше гнучких конфігурацій. 🇺🇦 iOSDevUA

📲 Найпростіший сервіс для пушів (200 рядків коду) Якщо у вас немає складних вимог до push-нотифікацій (сегменти, A/B, складні сценарії, аналітика тощо), то, можливо, вам взагалі не потрібен платний сервіс. У статті показують підхід, як зробити власний мінімальний сервіс для пушів буквально на ~200 рядків, і хостити його на Cloudflare (щоб було дешево й просто підтримувати). Корисно, якщо хочеться прибрати зайві підписки й тримати базовий пуш-флоу під контролем. 🇺🇦 iOSDevUA

🎥 Q&A з Apple про Swift Concurrency Схоже, Apple вперше зробили відкритий лайв на YouTube у форматі Q&A — розбирали питання розробників про Swift Concurrency (актори, таски, structured concurrency, нюанси поведінки тощо). Формат дуже правильний: менше “маркетингу”, більше конкретики й відповідей на реальні кейси. Тож якщо зайде — підтримайте лайком, щоб такі стріми робили частіше 🙌 🇺🇦 iOSDevUA

🕵️ Apple тихо підкручує App Review (особливо для нових застосунків) Останні тижні багато девів помічають, що під час рев’ю (зокрема для нових апок) частіше просять додаткові матеріали/пояснення: 👉 Відео/скрінрекорд із реального девайсу, де видно основний флоу 👉 Короткий опис сенсу застосунку і яку реальну цінність він дає 👉 Інструкції, як отримати доступ до ключових фіч (демо-акаунт, кроки, що натиснути, куди зайти) Apple і раніше прямо радили заповнювати Notes для рев’ю (логіни/доступи, пояснення концепції тощо), але зараз виглядає так, що ці речі стали більш “обов’язковими на практиці”. Можливе пояснення — реакція на хвилю “нашвидкоруч згенерених” застосунків, які масово полетіли в стор. (це вже радше здогад, але звучить логічно) 🇺🇦 iOSDevUA

⚡️ 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

💳 Новий тип підписок в 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

🎥 Записи try! Swift Tokyo вже вийшли Опублікували записи дводенної конференції try! Swift — можна спокійно наздогнати найцікавіші доповіді у своєму темпі. Що варто глянути в першу чергу 👇 👉 Firefox про розробку великого iOS-застосунку в опенсорсі 👉 Пол Хадсон про SwiftUI 👉 Доповідь про embedded Swift (для тих, кому цікаво Swift поза мобілкою) 🇺🇦 iOSDevUA